在Python3中,我有一个PDF文件“Ativos_Fevereiro_2018_servidores_rj.PDF”,共6041页。我和Ubuntu在一起
每一页的顶部都有两行文字。在一张桌子下面,有标题和两列。每表36行,最后一页少
在每一页的末尾,在桌子后面,还有一行文字
我想从这个PDF创建一个CSV,只考虑页面中的表。忽略桌子前后的文字
最初我测试了表格。但它会生成一个空文件:
from tabula import convert_into
convert_into("Ativos_Fevereiro_2018_servidores_rj.pdf", "test_s.csv", output_format="csv")
请问,有没有人知道使用表格py来满足这种需求的另一种方法?
或者以另一种方式将此文件类型中的PDF转换为CSV?
好的,我发现了问题:您必须设置
spreadsheet=True
,并保持utf-8编码:在下面的图片中,我用第一页测试了它(因为你的文件很大):
之后您可以将数据帧保存为csv:
编辑:
好的,错误可能是java内存问题。为了加快速度,我添加了
pages
选项。还有一个编码问题,所以encoding='utf-8'
添加到csv导出中。 如果继续遇到java错误,请尝试将其分块解析,例如pages='1-300'
。我刚刚完成了所有6041(在一台64GB内存的机器上),它工作得很好。相关问题 更多 >
编程相关推荐