【发布时间】:2019-11-13 12:47:50
【问题描述】:
我遇到了 Camelot 库的问题
我从 PDF 中提取数据,我的代码在前 23 页运行“正常”,但在这种情况下,它无法解析文本/表格结尾
我想问题是字符串太长了到达表格边框
也尝试过“流”,但结果最差
PDF 源数据
PDF 输出布局
我解析的输出是这样的
"ALT4945\n24 V"
"70\/140 A ALT5860\n12 V\n90 A"
期望的输出应该是
"ALT4945\n24 V 70\/140 A"
"ALT5860\n12 V\n90 A"
我的第一个可以在上一页正常工作的代码是
tables = camelot.read_pdf("CROSSREFERENCE.pdf", pages=wPAGES, flavor="lattice")
从网站 Camelot Doc https://camelot-py.readthedocs.io/en/master/api.html 我得到了关于 pdf 解析器的可能配置。
"" PARAMS for lattice
line_scale (default: 15)
copy_text ((default: None))
shift_text (default: ['l', 't'])
line_tol (default: 2)
joint_tol (default: 2)
threshold_blocksize (default: 15)
threshold_constant (default: -2)
iterations (default: 0)
resolution (default: 300)
"""
然后我遇到了这个问题,试图用更多的参数来解决“玩”,但没有找到赢家
tables = camelot.read_pdf("CROSSREFERENCE.pdf", pages=wPAGES, flavor="lattice", split_text=True, resolution=720, line_scale=250, line_tol=3, joint_tol=3, threshold_blocksize=15)
tables = camelot.read_pdf("CROSSREFERENCE.pdf", pages=wPAGES, flavor="lattice", split_text=True, resolution=720, line_scale=250, line_tol=1, joint_tol=1, threshold_blocksize=3)
我可以得到一些关于参数的建议以避免这种情况吗??
谢谢
编辑1: PDF 来源:https://www.siom.it/images/catalogo-motorini-alter.pdf (第 24 页)
【问题讨论】:
-
你能附上文件还是只附上这个页面,以便我们能够进行一些测试?
-
@Anakin87 编辑问题qith pdf url
-
似乎很难得到想要的结果。或许对于这种情况,你可以考虑一些内容后处理……
-
@Anakin87 感谢您浪费您的时间,我实际上是在进行后期处理,但是如果解析器做错了,就不能这样做。我希望一些参数可以帮助避免这个问题
-
您期望库可靠地拆分到您想要拆分的位置的方法是错误的。这不是 PDF 的工作方式。
标签: python pdf python-camelot