这个问题已经有答案了:
How to extract a table as text from the PDF(4个回答)
25天前关闭
我有一个100页的大PDF文件,几乎完全由表格组成,他在这里:file我需要从这个表格中提取数据并将其传输到Excel,但为了方便,我首先需要将这些数据写入CSV文件。
我使用过python和各种库,从pypdf 2和camelot,到尝试安装slicemypdf(失败)。pypdf 2在时间/结果方面做得最好,但它在输出空单元格和单独写入的数字时有问题(1,000 = 1.000,但是split()方法不能正确地将它们分开)。我将很高兴得到任何帮助,我一直在这个项目上工作了大量的日日夜夜。P.S.我是一个新手,我要求尽可能详细的解释
1条答案
按热度按时间wribegjk1#
当然可以!从PDF文件中的表格中提取数据可能是一项具有挑战性的任务,有不同的方法可以实现这一点。由于您提到您已经尝试过pypdf 2和camelot,我将指导您使用
tabula-py
库的替代方法,该库构建在Apache PDFBox之上。以下是您可以遵循的步骤:
第一步:安装所需的库
请确保已安装必要的库。您可以使用以下命令安装它们:
字符串
第二步:使用
tabula-py
从PDF中提取表格型
第三步:清理和结构化数据
由于表可能具有不同的结构,因此您需要检查提取的表并决定如何构建数据。您可以使用pandas库来处理DataFrames。
型
第四步:保存DataFrame到CSV文件
型
注意:
1.**空单元格:**您可能需要根据您的具体需求单独处理空单元格。Pandas可以将空单元格表示为NaN(不是数字)。
1.**数字格式:**Pandas通常可以很好地处理数字格式,但如果需要,您可以在
to_csv
方法中使用float_format
参数来进一步自定义。1.**自定义输出:**根据表的结构,您可能需要进一步清理和结构化数据。您可以根据需要使用pandas函数来操作DataFrame。
您可以根据您的具体PDF文件和表格结构调整代码。如果您遇到任何问题或有特定要求,请提供更多细节,我很乐意进一步帮助。