问题描述
你好(提前道歉,编程新手,尽我所能)
我的目标是将 pdf 转换为 CSV。
我已使用 PDFminer 将 pdf 文档导入 Python,它将 PDF 中的所有文本粘贴到 Python 中。有没有一种简单的方法来创建一个带有导入文本的 CSV 文件?以不同格式从 Python 中获取这些数据的最佳方法是什么?
我用来导入 PDF 的代码如下:
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_from_pdf(pdf_path):
resource_manager = PDFResourceManager()
fake_file_handle = io.StringIO()
converter = TextConverter(resource_manager,fake_file_handle)
page_interpreter = pdfpageInterpreter(resource_manager,converter)
with open(pdf_path,'rb') as fh:
for page in pdfpage.get_pages(fh,caching=True,check_extractable=True):
page_interpreter.process_page(page)
text = fake_file_handle.getvalue()
# close open handles
converter.close()
fake_file_handle.close()
if text:
return text
if __name__ == '__main__':
print(extract_text_from_pdf(r'C:\Users\Matt\Documents\PDF miner\sample.pdf'))
输出如下:
非常感谢您的建议。
解决方法
我不认为这是保存在 CSV 中的好方法 但 例如,您可以根据字符分隔文本。或者,稍后将其保存为 CSV 文件
import csv
text=extract_text_from_pdf(r'C:\Users\Matt\Documents\PDF Miner\sample.pdf').split(",")
writer=csv.writer(open("file.csv","w"))
writer.writerow(text)