如果pdf文件中只有一个表,则可以使用以下代码简单地提取该表
from tabula import read_pdf
df = read_pdf(r"C:\Users\Himanshu Poddar\Desktop\pdf_file.pdf")但是如果在一个pdf文件中有一个以上的表格,我不能提取这些tables.Because,它只提取第一个。
发布于 2019-03-17 05:08:58
那里?希望下面的代码会有帮助,但我没有用大表测试它。让我知道这段代码有没有可能影响或者失败的场景。我是python的新手,所以我可以提高我的知识:)
import os
from tabula import wrapper
os.chdir("E:/Documents/myPy/")
tables = wrapper.read_pdf("MyPDF.pdf",multiple_tables=True,pages='all',encoding='utf-8',spreadsheet=True)
i=1
for table in tables:
table.columns = table.iloc[0]
table = table.reindex(table.index.drop(0)).reset_index(drop=True)
table.columns.name = None
#To write Excel
table.to_excel('output'+str(i)+'.xlsx',header=True,index=False)
#To write CSV
table.to_csv('output'+str(i)+'.csv',sep='|',header=True,index=False)
i=i+1发布于 2018-07-19 16:59:50
即使使用tabula-py包装器,您也可以使用与Tabula Java文档中相同的所有选项。
在您的示例中,您可以简单地添加pages = "all":
from tabula import read_pdf
df = read_pdf(r"C:\Users\Himanshu Poddar\Desktop\pdf_file.pdf", pages ="all")发布于 2018-09-25 19:37:42
如果你的PDF有多个表格,你可以使用multiple_tables=true选项。
https://stackoverflow.com/questions/49733576
复制相似问题