㈠ 用pdf卡片進行物相定性分析的二要素
卡片編號、分析試樣。
可查出卡片編號,如待分析試樣為單相,在物相未知的情況下可用Hanawalt索引或Fink索引進行分析。
RD標准資料庫包括JCPDS(即PDF卡片),ICSD,CCDC等,分析XRD譜圖的軟體包括Jade,Xpert Highscore等。
㈡ 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表格時的參數設置補充