我创建了两个应用程序:
将csv(以latin-1编码)转换为xml
import xml.etree.ElementTree as xml
xml.ElementTree(xmlData).write(xmlFile, encoding='ISO-8859-1')
将以前的xml加载到我的数据库(mysql)
没有解析器
from xml.etree import ElementTree as etree
etree.parse(xmlFile)
分析器
from xml.etree import ElementTree as etree
myparser = etree.XMLParser(encoding='ISO-8859-1')
etree.parse(xmlFile, parser=myparser)
加载CSV文件并将其转换为XML文件。
问题:我无法将XML文件加载/解析为Elementree
错误消息:
"/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/xml/etree/ElementTree.py", line 1726, in parse
parser.feed(data)
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 14443, column 0
注意:
更新 行14443以(十六进制)开头:0xc 0x44 0x4c 0x56 0x36 0x32 ...
由于解析错误发生在第14443行的第0列,错误由0xc
产生答案 0 :(得分:0)
<强>解决方案:强>
tr -dc '[\011\012\015\040-\176\200-\377]' < input.xml > output.xml
这不是最佳解决方案,因为我们创建了另一个(大)文件。