pdf解析python
A. python解析PDF表格——PDFPlumber vs Camelot
题图来自 Camelot: List o’ 10 Intriguing Mythical Places 
  
 为获取LEED认证项目的评分表明细,可念带以从USGBC的项目页面上爬取,或者从pdf格式的项目评分表中解析得到。以 重庆某LEED EM:OB v2009 Gold项目 为例,USGBC上公布的 LEED项目得分表 其格式并不统一,利用XPath爬取后需要进一步清洗处理。相对而言,LEED项目所对应的 项目评分表PDF文件 的数据更为规范完整。因此考虑尝试解析出PDF文件中的表格,以便后续分析。
   Python 处理PDF文件的程序包,pdfminer、tabula、型高缺pdfplumber、camelot……查询资料表明,似乎普遍认为pdfminer的效果不怎么好,而tabula需要java支卜辩持   ,想偷懒于是只试了pdfplumber和camelot。
   安装过程不赘述,直接来看运行结果。
pdfplumber无法直接解析出Scorecard.pdf文件中的表格,但实际上要解决此问题也并非难事。调整下思路,可先解析出pdf文件中的文本,让后通过分列来得到表格。
                                          
 利用pdfplumber的extract_text()命令可解析出pdf文件中的文本,但由于本次需要解析的得分表pdf文件的排版的原因,左右两个表格的文本行并未完全对齐,因此如果直接解析完整页面上的文本的话,文字会出错。先用corp()命令指定识别范围,然后再extract_text(),识别得到的文本列表如下所示。
                                                                                  
 对于类似本例中Scorecard.pdf表格排版有错位的情况,也可以按照表格在页面中所处的位置,指定表格识别的范围。所用到的指令:camelot.plot()可以绘制出页面的略图,table_area参数可以指定表格识别的范围。
                                          
 又及,Camelot原来是亚瑟王和圆桌骑士们的宫殿所在地,和Asgard的Valhalla一样,也是传说中的圣域。搜索camelot程序安装包时无意中学到的,涨知识了。
  
 [1]  Python:解析PDF文本及表格——pdfminer、tabula、pdfplumber 的用法及对比 
   [2]  用Python提取pdf文件中的表格数据 
   [3]  python读取pdf文件   
   [4]  Github: pdfplumber   
   [5]  Camelot: PDF Table Extraction for Humans   
   [6]  ImageMagick Installation   
   [7]  ImageMagick之PDF转换成图片(image)   
   [8]  LEED 2009 for Existing Buildings: Operations & Maintenance   
   [9]  Camelot - Wikipedia   
   [10]  List o’ 10 Intriguing Mythical Places 
   [11]  Camelot识别pdf表格时的参数设置补充
