我刚刚发现了tabula-py(当然还有tabula-java),可以从pdf中提取表格。我正在编写一个脚本,从pdf表格中读取一些数据,对其进行简单的清理,然后将其导出到excel中。我使用的pdf每天都有相同的格式,并且表格总是在特定区域。为了检测该区域,我使用tabula.exe:我选择表格,可视化预览(看起来很好),然后导出脚本,以查看tabula.exe使用的-a参数。然后在Python命令中使用它,如下所示:
我使用了编码参数,因为标准的utf-8会返回错误,并且使用流方法,因为它是在tabula.exe中显示漂亮提取表格的方法。然而,数据框存在一个问题,因为前两列(在tabula.exe预览中正确显示为2个不同的列)实际上是一列,导致名称和值混合在一起。
您知道为什么相同的区域在tabula-py和tabula.exe中产生了两个不同的结果吗?非常感谢!
df = tabula.read_pdf(os.fsdecode(directory)+filename, encoding = 'ISO-8859-1',
stream=True, area = "81.106,302.475,384.697,552.491", pages = 2, pandas_options={'header':None})
我使用了编码参数,因为标准的utf-8会返回错误,并且使用流方法,因为它是在tabula.exe中显示漂亮提取表格的方法。然而,数据框存在一个问题,因为前两列(在tabula.exe预览中正确显示为2个不同的列)实际上是一列,导致名称和值混合在一起。
您知道为什么相同的区域在tabula-py和tabula.exe中产生了两个不同的结果吗?非常感谢!