Я хочу провести l oop по всем PDF-файлам в каталоге, извлечь текст из каждого из них с помощью PDFminer, а затем записать вывод в один файл CSV. Я могу извлечь текст из каждого PDF в отдельности, передав его функции, определенной здесь . Я также могу получить список всех имен файлов PDF в данном каталоге. Но когда я пытаюсь соединить их вместе и записать результаты в один CSV, я получаю CSV с заголовками, но без данных.
Вот мой код:
import os
pdf_files = [name for name in os.listdir("C:\\My\\Directory\\Path") if name.endswith(".pdf")] #get all files in directory
pdf_files_path = ["C:\\My\\Directory\\Path\\" + pdf_files[i] for i in range(len(pdf_files))] #add directory path
import pandas as pd
df = pd.DataFrame(columns=['FileName','Text'])
for i in range(len(pdf_files)):
scraped_text = convert_pdf_to_txt(pdf_files_path[i])
df.append({ 'FileName': pdf_files[i], 'Text': scraped_text[i]},ignore_index=True)
df.to_csv('output.csv')
Переменные имеют следующие значения:
pdf_files: ['12280_2007_Article_9000.pdf', '12280_2007_Article_9001.pdf', '12280_2007_Article_9002.pdf', '12280_2007_Article_9003.pdf', '12280_2007_Article_9004.pdf', '12280_2007_Article_9005.pdf', '12280_2007_Article_9006.pdf', '12280_2007_Article_9007.pdf', '12280_2007_Article_9008.pdf', '12280_2007_Article_9009.pdf']
pdf_files_path: ['C:\\My\\Directory Path\\12280_2007_Article_9000.pdf', etc...]
Empty DataFrame
Columns: [FileName, Text]
Index: []
Обновление: по предложению @ AM C Я проверил содержимое scraped_text в l oop. Для столбца «Текст» кажется, что я перебираю символы в первом файле PDF, а не перебираю каждый файл напрямую. Кроме того, содержимое l oop не записывается на фрейм данных или в CSV.
12280_2007_Article_9000.pdf E
12280_2007_Article_9001.pdf a
12280_2007_Article_9002.pdf s
12280_2007_Article_9003.pdf t
12280_2007_Article_9004.pdf
12280_2007_Article_9005.pdf A
12280_2007_Article_9006.pdf s
12280_2007_Article_9007.pdf i
12280_2007_Article_9008.pdf a
12280_2007_Article_9009.pdf n