问题标签 [python-camelot]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1393 浏览

python - 如果找不到特定字符串,如何遍历数据帧列表并删除所有数据

我正在使用 python 库 Camelot 来解析多个 PDF 并提取这些 PDF 文件中的所有表。第一行代码以列表格式返回从 pdf 中抓取的所有表格。我正在寻找一个特别是其中包含唯一字符串的表。谢天谢地,这个字符串是这个表唯一的,所以理论上我可以用它来隔离我想要抓取的表。

这些 pdf 或多或少是以相同的格式创建的,但是有足够的差异,我不能只在我想要的表上进行静态调用。例如,有时我想要的表会是第一个被刮掉的表,有时会是第三个。因此,我需要编写一些代码才能动态选择表格。

我脑海中的工作流程逻辑上是这样的:

在 for 循环之前创建一个空列表以将表附加到。调用 for 循环并遍历 Camelot 代码输出的列表中的每个表。如果表中没有我要查找的字符串,请删除该表中的所有数据,然后将空数据框附加到空列表中。如果它确实有我要查找的字符串,请将其附加到空列表而不删除任何内容。

有没有更好的方法来解决这个问题?我确定可能有。

我已经把我到目前为止放在一起的东西放在我的代码中。如果字符串存在,我正在努力组合一个条件语句来删除数据帧的所有行。如果字符串存在,我发现了很多删除列和行的例子,但整个数据框没有

0 投票
2 回答
1209 浏览

python - 多线程处理pdf文件列表时“不支持文件格式”

我正在自学python中线程的基础知识并且被卡住了。我希望脚本将函数应用于 pdf 列表。这个函数只是简单地计算每个 pdf 文件中的表格数量,然后返回每个文件有多少表格的组合列表。

现在,我收到一条错误消息,指出我的“文件格式不受支持”。据我所知,列表中的每个路径都是以 .pdf 结尾的完整路径。我不知道我做错了什么?

我已将代码精简到重点,并在下面包含了我的代码

任何帮助将不胜感激。如果我能澄清任何事情,请告诉我

编辑:在文件名前面使用 r 时的回溯

在文件路径中不使用 rs 时的回溯

0 投票
0 回答
1104 浏览

pandas - Camelot 对待相同的单元格不同的行

Camelot 将某些行视为单独的,而实际上它们并非如此。结果是应该属于前一行的行。

我正在与 Camelot 合作从银行对账单中提取数据。问题是 Camelot 将某些行视为单独的,而实际上它们并非如此。? 正如您在所附图片中看到的,2019 年 1 月 9 日的交易被分成 3 行,而实际上它只有一行。当描述超过一行时会发生这种情况(附上原始声明)。

我尝试优化 row_tol 和 col_tol 没有成功。Camelot 有什么解决方案吗?如果没有,PANDAS 中的快速修复方法是什么?

在此处输入图像描述

在此处输入图像描述

0 投票
2 回答
157 浏览

python - for循环根据变量名导出数据

我有一个要导出到 excel 的变量列表。但是,我在创建for循环时遇到了问题。它似乎使用变量名的实际值而不是变量名,这是有道理的。我也试图通过变量的名称来命名 excel 文件,我认为我可以str(factor)for循环中实现。

形式的可变因素

感谢您的帮助。

0 投票
2 回答
459 浏览

python - Camelot:使用“table_regions”参数返回“太多值无法解包(预期 4)”

我正在尝试使用 Camelot 从 pdf 中提取表格数据。使用参数“table_regions”时,我得到并错误“解包的值太多(预期为 4)”

导致:

0 投票
0 回答
805 浏览

python - 如何在 Python Camelot 和 Tabula-Py 中切换表格区域坐标

我已经使用 获得了表格边界框的坐标Camelot,但我需要使用它tabula-py来提取表格数据,因为 camelot 仅提取每个表格单元格中的第一行,即使在格子模式下也是如此。我注意到,在 tabula-py 中定义相同的表格区域时,结果坐标中的 2 个与 camelot 值有很大不同(如下面的代码示例所示)。虽然 tabula 中的第 2 和第 4 值与 camelot 中的第 1 和第 3 值相似,但其他值有很大不同,请问如何从 camelot 值中翻译这些读数?我一直在尝试使用比例,并添加和减去值,但一切都是徒劳的......

但来自 bbox 的 camelot 坐标值为:631、518、1154、765

0 投票
2 回答
3902 浏览

python - Camelot 只阅读 pdf 的第一页

它只阅读第一页。有人请帮帮我

0 投票
1 回答
1568 浏览

python-3.x - 在 python 3.6 上运行 tabula.read_pdf() 函数时获取“CalledProcessError ....返回非零退出状态 1”

我已经尝试了所有可能的选择。请帮忙

在 python 中运行 tabula 的 read_pdf() 时出现以下错误。错误是

运行时tabula.environment_info()

我得到以下信息:

我已经尝试保留我的程序文件,即我在桌面上编写了上面称为 untitled0.py 的代码的位置,以及我试图在桌面上处理的文本文件。我从 Stackoverflow 中看到无数选项,例如获取 Java 7 而不是 Java 8 将解决我的问题,升级 tabula 包(我发现它已经是最新版本)并且我的 Java 也已更新。有人在另一篇文章的评论中说将代码和pdf保存在我所做的同一目录中,但无济于事。上面的错误信息不断出现。

错误信息:

预期结果:我应该能够解析多个表格,或者我应该说从我作为输入提供的 pdf 文档中提取多个表格

更新: 也运行如下所示:https ://github.com/chezou/tabula-py/issues/93没有任何好处。请参阅下面的错误..

更新:

我下载的文件来源是: https ://arxiv.org/pdf/1409.3215.pdf

更新 我还检查了此处发布的解决方案,但不太明白他们建议的解决方案:

https://github.com/chezou/tabula-py/issues/60

更新

我已经放弃了对白板的希望。我改为使用 camelot..好多了。

0 投票
0 回答
669 浏览

python-3.x - 如何使用 python-camelot 解析 pdf 文件并提取带有标题的表格?

我正在尝试解析一些 pdf 文件以提取一些关键信息。每个 pdf 中有许多表包含这些信息的一部分。所以我尝试使用 camelot 来提取表格,我得到了很好的结果,但我想提取每个表格的标题,因为我想为每个表格及其标题做一个映射。谁能告诉我如何使用python从pdf中提取表格的标题?

0 投票
1 回答
2799 浏览

python-3.x - 如何使用 python-camelot 获取表格坐标?

我正在尝试解析一些 pdf 文件以提取一些关键信息。每个 pdf 中有许多表包含这些信息的一部分。所以我尝试使用 camelot 来提取表格,我得到了很好的结果,但我想提取每个表格的标题,因为我想为每个表格及其标题做一个映射。所以我尝试使用获取每个表格的坐标,tables[i]._bbox然后在这些坐标上添加一些边距以检测表格标题的区域(它可以在表格的顶部、左侧或底部),如图所示在图像中:左侧表格的标题

顶部表格的标题

谁能告诉我如何使用python根据表格坐标从pdf中获取包含表格标题的红色区域的坐标?