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中找到任何想法。 我该如何解决这个问题?我应该导入一些字体,还是有其他原因造成这个错误?
答案 0 :(得分: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才能查看数据。>