问题描述
我正在使用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 (将#修改为@)