Извлечение данных из PDF в текстовый файл

#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(?)