PDF轉Excel要收費?python幾行代碼幫你免費搞定(附代碼)


寫在前面


經常在學習或工作中需要從PDF獲取一些表格數據,直接用PDF閱讀器複製的話,很難複製出來,使用PDF轉Excel的軟件,又需要收費。這時候,可以使用我們強大的python,幾行代碼就能把pdf的表格內容抽取到Excel,順便學習一下。


PDF轉Excel要收費?python幾行代碼幫你免費搞定(附代碼)

本文介紹一個解析PDF的包使用過程,以及為何挑選這個解析包。


如何挑選python包


我們經常在網上看到一些python包,雖然功能一樣,但是包名卻不同。例如解析PDF的包,有好幾種,那麼我們應該怎麼挑選呢?這裡告訴大家一個方法,利用python官方文檔來決定,用哪個比較好。


  • pdfplumber

首先,我們通過百度搜索 “包名+ pypi”。

這裡我們搜索 pdfplumber pypi

PDF轉Excel要收費?python幾行代碼幫你免費搞定(附代碼)


PDF轉Excel要收費?python幾行代碼幫你免費搞定(附代碼)


點擊進去,英文看不懂不要緊,點擊“releasese history”, 看到最新版本是2020年,就是今年發佈。說明這個包有人在維護著,所以這個包可以放心使用。就算這個包出了BUG,它下一版本也會修復的,所以不用擔心。


  • camelot

來對比一下,另外一個PDF解析包,camelot,據說曾經是一個非常實用的pdf解析包,我們來看看它的官方文檔,七年之前就停更了、這個包用起來似乎就沒那麼好了,當然可以用,就是可能會出現與你的python環境會衝突,而且有BUG也不會有人去修復。

PDF轉Excel要收費?python幾行代碼幫你免費搞定(附代碼)


所以說,在挑選同類型包時,儘量挑選有人維護的python包,這樣即使出了問題,你也可以尋求到幫助。


代碼講解


這次代碼很簡單,就是pdfplumber的使用。

<code>import pdfplumber
import xlwt/<code>

pdflumber: PDF 文件解析包。

xlwt: 用於Excel文件的讀寫。


<code>workbook = xlwt.Workbook()  # 定義workbook
sheet = workbook.add_sheet('Sheet1') # 添加sheet
pdf = pdfplumber.open("EAST文本檢測論文.pdf")
for page in pdf.pages:
for table in page.extract_tables():
for row in table:
print(row)
for j in range(len(row)):
sheet.write(i, j, row[j])
pdf.close()
# 保存Excel表
workbook.save('EAST文本檢測論文_01.xls'/<code>


pdfplumber 是按頁去解析PDF的,pdf.pages拿到所有頁面,extract_tables() 把頁面中的表格取出來,最後按照表格的格式賦值給Excel的每個單元格。


運行結果


PDF截圖

PDF轉Excel要收費?python幾行代碼幫你免費搞定(附代碼)


輸出結果

PDF轉Excel要收費?python幾行代碼幫你免費搞定(附代碼)



後臺私信我,回覆:python解析pdf。 我把源碼發你。最後,感謝大家的閱讀,祝大家工作生活愉快!


分享到:


相關文章: