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, 导出数据为文件

