首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多页pdf上的不同table_areas

多页pdf上的不同table_areas
EN

Stack Overflow用户
提问于 2021-07-12 00:20:24
回答 1查看 41关注 0票数 0

我想从多页pdf中提取表格。由于表属性,我需要对read_pdf使用flavor='stream'table_areas属性,以便正确检测我的表。我的问题是表在每个页面上的位置是不同的(第一个页面有一个地址头,而另一个页面没有)

我尝试为read_pdf函数提供几个方面,如下所示:

代码语言:javascript
复制
camelot.read_pdf(file, pages='all', flavor='stream', table_areas=['60, 740, 580, 50','60, 470, 580, 50'])

但是这个结果是每页有2个表。如何为每个页面分别指定table_areas?

我也尝试过多次使用不同的pages/table_areas运行read_pdf,但是我不能将几个结果附加在一起得到一个单独的对象:

代码语言:javascript
复制
tables = camelot.read_pdf(file, pages='1', flavor='stream', table_areas=['60, 470, 580, 50'])
tables.append(camelot.read_pdf(file, pages='2-end', flavor='stream', table_areas=['60, 740, 580, 50']))

给出一个错误,因为append不是生成tables的方法

有没有一种方法可以连接read_pdf函数的几次调用结果?

EN

回答 1

Stack Overflow用户

发布于 2021-07-12 16:34:32

实际上,正如您所注意到的,不能直接将项添加到TableList对象。

相反,您可以通过以下方式操作TableList _tables属性(_tables是一个列表):

代码语言:javascript
复制
my_tables = camelot.read_pdf(file, pages='1', flavor='stream', table_areas=['60, 470, 580, 50'])
my_tables._tables.append(camelot.read_pdf(file, pages='2-end', flavor='stream', table_areas=['60, 740, 580, 50']))

现在my_tables应该由两个表组成。

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

https://stackoverflow.com/questions/68338012

复制
相关文章

相似问题

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