利用python 中的camelot库可以提取基于文本的PDF表格数据,(注意扫描版的则不能,基于文本的是指可以在该PDF文档上选取文本,而扫描版的PDF为图像格式)
关键词read_pdf 可以读取PDF文件
plot(tables[0],kind=‘text’)
关键词plot可以绘制表格轮廓,其中kind参数可以定义为
1.text 可显示所有文本,在图片上移动可以记录每个文本的坐标
2.grid 绘制表格轮廓
3.line绘制表格内部的线
4.joint 绘制表格线相交点
5.contour 绘制表格边界
6.textedge 绘制文本边缘
利用上述参数可以找到表格的左上角和右下角坐标,
添加表格区域重新读取PDF表格,添加关键词table_areas可以精确定义表格区域,其中参数为(左上角,右下角)坐标;添加关键词table_regions可以模糊定义表格区域
将结果导出成csv时,可能是因为ie结果中有中文,用excel打开出现乱码,此时需指定编码格式utf_8_sig
官方camelot使用文档: https://camelot-py.readthedocs.io/en/master/
.
import camelot
import matplotlib.pyplot