Хорошо, я думаю, мне просто не хватает разъемов, я новичок в Python.
Цель: прочитать CSV.
Прочитать все имена файлов в каталоге.
Если ROW в индексе (x) = имя файла в каталоге, то
откройте HTML-файл и замените текст в индексе (x) на текст из файла HTML
Код на данный момент:
import fileinput
import csv
import os
import sys
import glob
from bs4 import BeautifulSoup
htmlfiles_path = "c:\\somedirectory\\" #path to directory containing the html files
filename_search = glob.glob("c:\\somedirectory\\*.HTM") #get list of filenames
#open csv
with open ('content.csv', mode='rt') as content_file:
reader = csv.reader (content_file, delimiter=',')
for row in reader:
for field in row:
if filename_search(some matching logic i am stuck on):
for htmlcontentfile in glob.glob(os.path.join(path, ".HTM")):
markup(htmlcontentfile)
soup = BeatifulSoup(open(markup, "r").read())
content_file.write(soup.get_text())
#i think something else goes here
Я заставил работать csv-ридер и glob, чтобы вытащить список имен файлов, и у меня возникли проблемы с их подключением. Любая помощь была бы фантастической.
Я поискал другие вопросы, и часть этого кода основана на этом, но я не нашел ничего в python для этой задачи. Если есть, укажите мне верное направление!
РЕДАКТИРОВАТЬ1: я использую "wt" в открытом в моем коде csv. Но дело не в этом.
У меня есть папка с файлами. Пример:
content / d100.htm
content / d101q.htm
content / d102s.htm
А также CSV:
пример CSV
CSV-файл:
Заголовок Имя Расположение
Президент Калифорнии d100.html
Цель: открыть csv, найти совпадение в разделе "Местоположение" для любого файла из папки "content".
Если найдено совпадение, откройте соответствующий файл HTM, проанализируйте только текст.
Замените поле в CSV на текстовое содержимое файла
Имеет ли это смысл?
content_file.write(soup.get_text())
верна? - person Salman Farsi   schedule 13.11.2019rt
режиме, что означает, что он открыт только для чтения. Измените его на 'rt' и повторите попытку. - person Salman Farsi   schedule 13.11.2019os.walk()
- person barny   schedule 14.11.2019