python日常技巧(2)將pdf文件中的表格轉化成csv文件
- 2019 年 11 月 21 日
- 筆記
前文介紹
從 PDF 表格中提取表格數據時比較困難的。不久前,一位開發者提供了一個名為 Camelot 的工具,滿足大家從 PDF 文件中提取表格數據。
(1)安裝
- 使用conda
安裝Camelot的最簡單方法是使用[conda](https://conda.io/docs/)進行安裝,這是[Anaconda]的軟體包管理器和環境管理系統。
conda install -c conda-forge camelot-py
Camelot 支援 Python 2.7, 3.5, 3.6 and 3.7 包含 (Linux, macOS and Windows系統)。但是對於windows系統,你必須安裝ghostscript(https://www.ghostscript.com/download/gsdnld.html)

- 使用pip
安裝依賴包(包括Tkinter和ghostscript)之後,可以簡單地使用pip安裝Camelot:
pip install camelot-py[cv]
(2)示例
# -*- coding: utf-8 -*- """ Created on Sat Nov 16 12:48:55 2019 @author: czh """ %reset -f %clear # In[*] import camelot import os os.chdir('D:\pywork\shuiyin') # In[*] >>> import camelot >>> tables = camelot.read_pdf('foo.pdf') #類似於Pandas打開CSV文件的形式 # In[*] >>> tables[0].df # get a pandas DataFrame! >>> tables.export('foo.csv', f='csv', compress=True) # json, excel, html, sqlite,可指定輸出格式 >>> tables[0].to_csv('foo.csv') # to_json, to_excel, to_html, to_sqlite, 導出數據為文件

