我有一个包含 200 万个观察值的 xml 文件,我想将其转换为 csv,但出现以下错误。
File "src\lxml\parser.pxi", line 609, in lxml.etree._ParserContext._handleParseResult File "src\lxml\parser.pxi", line 618, in lxml.etree._ParserContext._handleParseResultDoc File "src\lxml\parser.pxi", line 728, in lxml.etree._handleParseResult File "src\lxml\parser.pxi", line 657, in lxml.etree._raiseParseError File "input/stackoverflow.com/Posts.xml", line 9 lxml.etree.XMLSyntaxError: Input is not proper UTF-8, indicate encoding ! Bytes: 0xFC 0x74 0xFC 0x70, line 9, column 360
我已经包含了 encoding= "utf-8" 但我不确定这个错误的来源是什么。有人可以帮忙吗?
我也尝试了下面的代码,它给了我类似的编码错误。
from lxml import etree
parser = etree.XMLParser(recover=True)
etree.fromstring(filename, parser=parser)
error: xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 9, column 359
我能够通过添加 encoding= 'latin1' 并稍微更改我的代码来消除该错误。
context = etree.iterparse(sourcefilename, events=('end',), tag='row',encoding= "latin1"
然而,我面临另一个问题
lxml.etree.XMLSyntaxError:xmlParseEntityRef:无名称,第 26451 行,第 2887 列
显然是因为有一些无效字符,我不知道该如何替换它们。