首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用python中的tabula提取一个pdf文件中存在的多个表?

如何用python中的tabula提取一个pdf文件中存在的多个表?
EN

Stack Overflow用户
提问于 2018-04-09 20:58:44
回答 5查看 8K关注 0票数 1

如果pdf文件中只有一个表,则可以使用以下代码简单地提取该表

代码语言:javascript
复制
from tabula import read_pdf
df = read_pdf(r"C:\Users\Himanshu Poddar\Desktop\pdf_file.pdf")

但是如果在一个pdf文件中有一个以上的表格,我不能提取这些tables.Because,它只提取第一个。

EN

回答 5

Stack Overflow用户

发布于 2019-03-17 05:08:58

那里?希望下面的代码会有帮助,但我没有用大表测试它。让我知道这段代码有没有可能影响或者失败的场景。我是python的新手,所以我可以提高我的知识:)

代码语言:javascript
复制
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
票数 3
EN

Stack Overflow用户

发布于 2018-07-19 16:59:50

即使使用tabula-py包装器,您也可以使用与Tabula Java文档中相同的所有选项。

在您的示例中,您可以简单地添加pages = "all":

代码语言:javascript
复制
from tabula import read_pdf
df = read_pdf(r"C:\Users\Himanshu Poddar\Desktop\pdf_file.pdf", pages ="all")
票数 2
EN

Stack Overflow用户

发布于 2018-09-25 19:37:42

如果你的PDF有多个表格,你可以使用multiple_tables=true选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49733576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档