#python #text-extraction
Вопрос:
У меня есть несколько PDF-файлов в папке. Я объединяю все PDF-файлы и запускаю этот код:
doc = fitz.open(merged.pdf) out = open('raw.txt', "wb") for page in doc: text = page.get_text().encode("utf8") out.write(text) out.write(bytes((12,))) out.close()
Чтобы пропустить слияние PDF-файлов, был получен этот код:
from glob import glob import os x = "/path" for pdf in glob(x os.sep '*.pdf'): doc = fitz.open(pdf) # open document out = open('raw.txt', "wb") for page in doc: text = page.get_text().encode("utf8") out.write(text) out.write(bytes((12,))) out.close()
Однако был захвачен только один PDF-файл. Я хотел бы иметь такой же вывод в первом упомянутом коде.
Комментарии:
1. я попробовал открыть(«.txt»,a), но выдал мне эту ошибку: аргумент write() должен быть str, а не байтами
Ответ №1:
Для записи в открытый файл используйте out.write()
with open('.txt','wb') as out: out.write(data)
Поскольку вы сохраняете текстовый файл, вам не нужно открывать его в двоичном режиме «wb» или «rb». Но я думаю, что в этом нет никакого вреда, так как вы, скорее всего, получите искажение только при использовании open() в pdf(?)