好了,所以這裏有一個簡短:刪除字符串的十六進制表示 - Python的
目的:檢測到一個字符串包含十六進制值,要麼正確提取或刪除它們。
問題:我希望能夠使用openpyxl編寫我的字符串到excel工作表,而不會引發非法字符異常錯誤。
樣品問題的字符串:
'\xc2\x87,QGLYLGXDO\x03ZLWK\x03EUHDVW\x03FDQFHU\x03\xc2\x9435
或者:
'5LVN\x03VWDWXV\x1d\x033RRU\x10ULVN\x1e\x03&\\WRJHQHWLFV\x1d\x03&RPSOH[\x03\x0b\xc2\x95\x03\x16\x03FORQDO\x03FKURPRVRPDO\x03DEQRUPDOLWLHV\x0c\x1e\x030RQRVRPDO\x03
我曾嘗試:我試着寫之前檢查每一個元素,它是否是一個有效的字符串,由如果type(element) == str:
或isinstance(element) == unicode
但不起作用。
我該如何解決這個問題?
的額外信息: 我做了什麼:
- 轉換PDF文件轉換爲XLS格式通過在互聯網上免費提供的軟件。 [不幸的是,該軟件只是聲稱其轉換爲XLS,當它實際上數據被寫入在XML]
- 現在,我把這些XML文件,寫一個解析器從中提取數據。
- 第三,我使用提取的數據並使用openpyxl包將其寫入Excel表。
如果該字符串是'UHVHFWLRQ◄QEVS▲♥/ RZ♥ULVN♥IHDWXUHV↔QEVS▲♥2OLJRGHQGURJOLRPD♥RU♥PL [HG'? – complextea
然後它包含創建Excel文件之前需要轉義的無效字符。 –
我怎麼能做到這一點?從上面註釋中的字符串中,我可以消除「心臟」或「三角形」等特殊符號,但由字母組成的垃圾字符串仍然存在。你能提出一些建議嗎? @Charlie Clark – complextea