3

PDF 文件内容为中文(字符,不是图片等),因此可能使用不同的字体。我的代码:

>>> import tabula
>>> df = tabula.read_pdf('/data/proj/smartinvestment/cninfo_download_reports/pdf/601101/2016-12-29/1202969937.PDF', pages='all')

错误:

Feb 02, 2018 6:44:34 PM org.apache.pdfbox.pdmodel.font.PDCIDFontType2 <init>
INFO: OpenType Layout tables used in font ABCDEE+ËÎÌå are not implemented in PDFBox and will be ignored

最终的 DataFrame 是空的。

我无法从 stackoverflow 中找到任何想法。我该如何解决这个问题?我应该导入一些字体还是有其他原因导致此错误?

4

1 回答 1

1

我感觉到你的痛苦。但是,我正在我的数据框(df)中获取数据,并执行与您类似的步骤。要进行故障排除,请查看返回的 df 类型:

import tabula

pdf_file_name = "my_filename.pdf"
df = tabula.read_pdf(pdf_file_name,
                     encoding='Ansi') # or encoding='utf-8'

print(type(df))
# df.to_csv("output.csv", index=False)

很有可能,由于您拥有 pages="all",您的 df 是一个 df 列表,这需要您查看列表中的每个 df 以查看您的数据的证据。

此外,如果 tabula.read_pdf 的 multiple_tables 参数设置为 True,则 df 将是 df 的列表,并且同样,这还需要您查看列表中的每个 df 以查看您的数据。

于 2019-08-29T23:25:34.857 回答