从PDF中提取的表返回了不正确的数据 - Python

时间:2018-03-22 05:58:34

标签: python csv pdf extract

我已多次尝试过从此PDF中导入此数据的方法。

http://www.imea.com.br/upload/publicacoes/arquivos/16032018194928.pdf)这是巴西农业部门的一份报告。我只需要第一个。

我的任务是开发一个程序,该程序可以获得本报告的某些特定要点,并用它构建一个段落。

问题是我无法找到正确导入表格的方法。

我尝试使用tabula-py,但效果不佳。

有谁知道如何导入它?

Python 3.6 / Mac hight Sierra

ps:需要用python完成,因为这段代码将在Heroku上传,所以我无法在那里安装软件。 (顺便说一句,我认为即使是tabula-py也无法在那里工作,因为我需要安装Java ...但我还是会尝试)

这是我试过的:

    import tabula
    import requests

    url = "http://www.imea.com.br/upload/publicacoes/arquivos/16032018194928.pdf"
    response = requests.get(url)
    df = tabula.read_pdf(url)
    tabula.convert_into("teste.pdf", "output.csv", output_format="csv", area=(67.14, 23.54,284.12, 558.01)) #I tried also without area.

1 个答案:

答案 0 :(得分:0)

我认为tabula需要一个文件,而不是一个URL。试试这个:

#!/usr/bin/env python3                                                                                                                                                                         

import tabula
import requests

url = "http://www.imea.com.br/upload/publicacoes/arquivos/16032018194928.pdf"
filename = "16032018194928.pdf"
response = requests.get(url)
with open(filename, 'wb') as f:
    f.write(response.content)
df = tabula.read_pdf(filename)
print(df)