问题标签 [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 投票
1 回答
337 浏览

python - 尝试使用 camelot-py 绘制 pdf 表格,但没有表格出现

我正在尝试绘制表格以调试和查找表格坐标,但是该图从未出现在屏幕上。Camelot 内置了使用 matplotlib 库绘制表格的函数。我已经为 camelot 下载了所有依赖项,但我似乎无法弄清楚如何让这个数字出现。

0 投票
1 回答
743 浏览

python - 如何在 PDF 文件中查找表格网格线?

为了更准确地提取嵌入在表格单元格中的类似表格的数据,我希望能够识别 PDF 中的表格单元格边界,如下所示:

pdf表格示例

我曾尝试使用 Camelot、pdfplumber 和 PyMuPDF 提取此类表,并取得了不同程度的成功。但由于我们收到的 PDF 不一致,即使指定表格边界,我也无法可靠地获得准确的结果。

我发现如果我通过明确指定单元格边界来单独提取每个表格单元格,结果会更好。我已经通过手动输入边界进行了测试,这是我使用 Camelot 的可视化调试工具获得的。

我的挑战是如何以编程方式识别表格单元格边界,因为表格可能从页面上的任何位置开始,并且单元格的垂直高度可变。

在我看来,可以通过查找行分隔线的坐标来做到这一点,这对人类来说在视觉上是如此明显。但我还没有弄清楚如何使用 python 工具找到这些行。这是可能的,还是有其他/更好的方法来解决这个问题?

0 投票
1 回答
193 浏览

python - 使用 camelot 的 PDF 文件名和坐标并获取表格详细信息

我在excel的一列中有pdf图像以及它的camelot坐标,它们中的每一个都在各自的行中,下面是一个简短的外观:-

我想编写一个 python 脚本,它会在每个 pdf 文件中获取它的每个 camelot 版本坐标,然后将值放入下面的函数中:-

表格 = camelot.read_pdf('table_regions.pdf', table_regions=['170,370,560,270']) 表格[0].df

我想要来自具有这些列的输入 csv 文件的每个 PDF 的结果。

我尝试使用 for 循环和 df.iterrows() 但没有奏效。

0 投票
1 回答
51 浏览

python - camelot 可以使用 pdf "primitives" 来提取数据吗?

因此,我花了一些时间尝试使用提取数据,PyPDF2但这最终在 pdf 中是不可靠的,即使 pdf 看起来(在眼睛看来)它们具有相似的结构并且可能是计算机生成的。

我喜欢 PyPDF2 的一点是它遍历 pdf 文件并从各种对象中提取文本,因此您不必处理字符之间的间距等(据我所知)extractTextPyPDF2 function

另一方面,根据文档,Camelot使用 pdfminer,据我所知,它没有执行上述操作,而是尝试根据距离规则将 pdf 的不同部分从字符组合成单词成行。我在使用 Camelot 时遇到的问题是您会得到类似“He l lo Wo rld”的结果。

不幸的是,我无法在线分享 pdf 示例

让我知道哪些其他信息将有助于分享

0 投票
0 回答
33 浏览

python - 有没有办法在 tables.export() 中添加新行

所以我做了一个小项目来使用camelot(pip install camelot)从pdf文件中读取表格我得到了我需要的输出,但它都是在行中,所以我想知道我是否可以从这段代码的json文件中插入一个新行

这是我的输出,但我需要更引人注目的输出

0 投票
1 回答
226 浏览

python-3.x - 如何从 Camelot 获取表格对象(单元格)列表

我正在使用 Camelot 从 PDF 和图像中读取表格的项目。我们需要找到表格单元格的边界坐标。

Camelot 在这里展示了核心课程,我认为答案可能就在这里,但我没有看到。我看到需要坐标作为参数而不是输出的函数。

https://camelot-py.readthedocs.io/en/master/_modules/camelot/core.html

无论如何,我需要找到每个单元格的列表及其坐标。怎么做?

0 投票
2 回答
46 浏览

python-3.x - 如何从这两个数组构造一个 NumPy 数组列表?

我有两个数组,它们是 PDF 坐标空间中的列值和行值:

这是一个视觉效果:

在此处输入图像描述

我需要将其转换为 numpy 数组列表,其中每个数组都是边界坐标(定义框的四个点)。例如,左下角和右上角框的列表将是

以此类推九盒。我怎样才能做到这一点?我猜想某种 NumPy 乘法,但我看不到。谢谢你。

0 投票
0 回答
26 浏览

python-3.x - 为什么我会为同一个 PDF 获得两种不同的像素大小?

我正在处理相同的 PDF,但像素大小不同。对于各种文档来说都是一样的。

当我使用 Azure 的 OCR 进行处理时,它会返回一个 JSON,其中包括:

但是,当我使用读取 PDF 以提取文本的 Camelot(Python 库)进行处理时,它似乎是 600x800 像素。

差异与DPI有关吗?我需要让他们彼此同意处理。

0 投票
1 回答
305 浏览

python-3.x - 从Python中的pdf文件中提取固定大小和位置表

假设我有许多与此处类似的 pdf 文件:

我想提取下表并保存为 excel 文件:

在此处输入图像描述

我可以使用包excalibur手动提取表并保存 excel 文件。

使用 pip3安装Excalibur后,我使用以下命令初始化元数据数据库:

$神剑初始化数据库

然后使用以下命令启动网络服务器:

$ excalibur 网络服务器

然后转到 http://localhost:5000 并开始从 PDF 中提取表格数据。

我想知道是否可以使用 python 脚本自动为多个 pdf 文件执行此操作,这些文件包含excalibur-pycamelotpdfminer等包,因为表格的大小和位置对于同一个城市的报告是固定的。

您可以从此链接下载其他报告文件。

非常感谢提前。

0 投票
1 回答
166 浏览

pandas - 从循环连接表得到错误 - InvalidIndexError:重新索引仅对具有唯一值的索引对象有效

我需要连接从循环创建的表。列中的名称重复,但它们讲述的是不同的故事,但由于某种原因,在运行此代码时出现错误:

这是代码:

这是我得到的错误: