python日常技巧(2)将pdf文件中的表格转化成csv文件

前文介绍

从 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)

python日常技巧(2)将pdf文件中的表格转化成csv文件_第1张图片

  • 使用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, 导出数据为文件
python日常技巧(2)将pdf文件中的表格转化成csv文件_第2张图片

python日常技巧(2)将pdf文件中的表格转化成csv文件_第3张图片

你可能感兴趣的:(python日常技巧(2)将pdf文件中的表格转化成csv文件)