好了,所以这里有一个简短:删除字符串的十六进制表示 - 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