|
1)camelot方法有兩種解析模式:流解析(stream)、格子解析(lattice),其中格子解析能夠保留表格完整的樣式,對(duì)于復(fù)雜表格來(lái)說(shuō)要優(yōu)于流解析模式。同時(shí),camelot方法默認(rèn)格子解析(lattice),而采用這種解析方式,需要安裝ghostscript。因此,僅通過(guò)pip命令安裝的camelot,代碼運(yùn)行時(shí)通常會(huì)報(bào)錯(cuò)。需要下載ghostscript.exe并安裝。安裝后,經(jīng)測(cè)試,并不需要在代碼中import ghostscript。 2)camelot輸出格式如果選擇csv格式,可能存在中文亂碼問(wèn)題,需要用文本編輯器將導(dǎo)出的csv文件編碼改為ansi格式。 3)后來(lái)在另外一臺(tái)電腦上安裝camelot庫(kù)時(shí)出現(xiàn)了一個(gè)奇葩的問(wèn)題,程序運(yùn)行報(bào)錯(cuò)。反復(fù)檢查才發(fā)現(xiàn)原因。首先是在這臺(tái)電腦上,我是按照印象輸入pip install camelot,也安裝成功。但代碼運(yùn)行錯(cuò)誤。經(jīng)查閱,正確命令(或者說(shuō)版本)是pip install camelot-py[cv]。 所以我先uninstall前面安裝的camelot,又重新按照正確的命令安裝camelot-py[cv],但代碼運(yùn)行時(shí)又提示import xlwt有問(wèn)題,在python庫(kù)中檢查了下,xlwt文件是正常的,找了半天沒(méi)找到原因。后來(lái)單獨(dú)卸載xlwt,然后重新pip安裝xlwt,發(fā)現(xiàn)xlwt的版本號(hào)由0.7變?yōu)?.3,然后一切就正常了。估計(jì)是之前錯(cuò)誤安裝了camelot的版本,導(dǎo)致順帶安裝的xlwt版本過(guò)低,無(wú)法兼容python3.6.5。 4)camelot開(kāi)始時(shí)一切正常,但處理一個(gè)pdf文件時(shí)突然報(bào)錯(cuò):pdfminer.psparser.SyntaxError: Invalid dictionary construct: [/'Type', /'Font', /'Subtype', /'Type0', /'BaseFont', /b"b'", /"ABCDEE+\\xcb\\xce\\xcc\\xe5'", /'Encoding', /'Identity-H', /'DescendantFonts', <PDFObjRef:11>, /'ToUnicode', <PDFObjRef:19>] 經(jīng)百度,找到解決方案,修改了pandas和PyPDF2模塊的三處源碼,恢復(fù)正常。具體修改內(nèi)容見(jiàn)python爬蟲(chóng)處理在線(xiàn)預(yù)覽的pdf文檔 |
|
|