Csv ElementTree.ParseError:格式不正确(无效令牌)
我创建了两个应用程序:Csv ElementTree.ParseError:格式不正确(无效令牌),csv,encoding,python-3.x,xml-parsing,Csv,Encoding,Python 3.x,Xml Parsing,我创建了两个应用程序: 将csv(以拉丁语1编码)转换为xml 将以前的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, pa
- 将csv(以拉丁语1编码)转换为xml
- 将以前的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)
- 没有解析器
"/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
tr -dc '[\011\012\015\040-\176\200-\377]' < input.xml > output.xml
注意:
- 每个文件都用拉丁语-1/ISO-8859-1编码
- CSV文件的大小约为1GB
- 我使用PythonV3.3
- 用拉丁语-1替换ISO-8859-1没有帮助
由于第14443行第0列出现解析错误,因此错误由0xc产生。解决方案:
"/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
tr -dc '[\011\012\015\040-\176\200-\377]' < input.xml > output.xml
tr-dc'[\011\012\015\040-\176\200-\377]output.xml
这不是一个最佳解决方案,因为我们创建了另一个(大)文件。了解第14443行中的内容会有所帮助。。。