2017-11-18 39 views
0

我試圖提取PDF文件的「內容」頁面(例如頁面2)作爲表格,並提出一個跟蹤項目與其對應起始頁碼的數據框。有人建議使用「Tabula」。我試了幾行,但似乎得到錯誤,無論是找不到read_pdf模塊或獲得一個空的數據框。感謝任何幫助,使其發揮作用?如何使用Tabula將PDF表格提取到數據框中

from tabula import wrapper 

MYFILE = 'http://www.hkexnews.hk/listedco/listconews/SEHK/2017/0410/LTN201704101126_C.pdf'

df = wrapper.read_pdf(myfile) 

回答

0
from tabula import read_pdf 

File = "ArchivedResults/LTN201704101126_C.pdf" 

df = read_pdf(File, pages=2, guess=False, columns=(248, 385)) 
print(df) 



    Unnamed: 0   目錄 
0   2  公司資料 
1   3  財務概要 
2   4  主席報告 
3   11 管理層討論及分析 
4   27  董事會報告 
5   66  企業管治報告 
6   86 環境、社會及管治報告 
7   100  獨立核數師報告 
8   109  綜合收益表 
9   110  綜合全面收益表 
10   111  綜合財務狀況表 
11   114  綜合權益變動表 
12   116  綜合現金流量表 
13   118 綜合財務報表附註 
14   227   釋義 

塔布拉似乎已經找到一個表的問題時,你只有2列。解決方法是關閉自動錶查找選項(guess = False),然後指定列的位置(請注意,您只指定列之間的空間,但必須至少指定2,以便設置第二列分隔符到過去最後一列的任意距離)。有些用戶可能需要指定和區域(area =(top,left,bottom,right)),但是對於您的示例,這不是必需的。

+0

@褲子:謝謝。現在有了一個不同的錯誤。 RuntimeError:'path'必須是None或列表,而不是。 – sunytest

+0

@sunytest我似乎無法重現該錯誤。我正在使用python 3.6和tabula-py 1.0.0。你在用什麼? – Pants

相關問題