使用pdfminer python将数据从pdf提取到csv

问题描述

我正在使用pdfminer从pdf提取数据并将其存储在csv文件中。它的提取数据很好,但是当保存到csv时,它将每个字母写入新的单元格,如下所示。有人可以在下面的代码中告诉我我在做什么错。

    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,codec = 'utf-8')
            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('Profile1.pdf'))

import csv
import os

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',encoding='utf-8') as csv_file:
        writer = csv.writer(csv_file)
        for page in extract_text_by_page(pdf_path):
            text = page[:]
            words = text.split("\n")
            writer.writerows(words)
if __name__ == '__main__':
    pdf_path = 'Profile1.pdf'
    csv_path = 'Profile1.csv'
    export_as_csv(pdf_path,csv_path)
我现在得到的

CSV输出: csv output

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...