[英]Importing a PDF file with text into a CSV file with Python
我在這里有點受阻。 我被要求使用Python將PDF文件放入CSV文件。 我一直在尋找互聯網,並在此地址找到了本指南:
https://www.blog.pythonlibrary.org/2018/05/03/exporting-data-from-pdfs-with-python/
那里寫了一個代碼,解釋了如何將PDF導入到CSV,我在這里放行:
import csv
import os
from miner_text_generator import extract_text_by_page
def export_as_csv(pdf_path, csv_path):
filename = os.path.splitext(os.path.basename(pdf_path))[0]
counter = 1
with open(csv_path, 'w') as csv_file:
writer = csv.writer(csv_file)
for page in extract_text_by_page(pdf_path):
text = page[0:100]
words = text.split()
writer.writerow(words)
if __name__ == '__main__':
pdf_path = 'w9.pdf'
csv_path = 'w9.csv'
export_as_csv(pdf_path, csv_path)
現在我的問題是,當我運行它時,它告訴我找不到模塊“ miner_text_generator”。 我嘗試用pip安裝它,但也無法正常工作。 我正在使用Python 3.7
你們對如何解決這個問題有任何想法嗎? 還是有其他方法可以做到這一點? 我不能使用API腳本或基於Web的腳本,它必須保留在我的計算機中。
謝謝你的幫助!
您無法使用pip
導入或安裝,因為miner_text_generator
是帖子作者編寫的python代碼。 您可以創建.py文件並將其保存在代碼的同一文件夾中,然后import
將起作用:
# miner_text_generator.py
import io
from pdfminer.converter import TextConverter
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfpage import PDFPage
def extract_text_by_page(pdf_path):
with open(pdf_path, 'rb') as fh:
for page in PDFPage.get_pages(fh,
caching=True,
check_extractable=True):
resource_manager = PDFResourceManager()
fake_file_handle = io.StringIO()
converter = TextConverter(resource_manager, fake_file_handle)
page_interpreter = PDFPageInterpreter(resource_manager, converter)
page_interpreter.process_page(page)
text = fake_file_handle.getvalue()
yield text
# close open handles
converter.close()
fake_file_handle.close()
def extract_text(pdf_path):
for page in extract_text_by_page(pdf_path):
print(page)
print()
if __name__ == '__main__':
print(extract_text('w9.pdf'))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.