gpt4 book ai didi

python - lxml.etree : Start tag expected, '<' 未找到,第 1 行,第 1 列

转载 作者:数据小太阳 更新时间:2023-10-29 02:01:03 24 4
gpt4 key购买 nike

我想获取一些简单的 xml 文件并将它们一次性全部转换为 CSV(尽管这段代码一次只针对一个文件)。在我看来好像没有正式的 namespace ,但我不确定。我有这段代码(我使用了一个 header ,SubmittingSystemVendor,但我真的想将它们全部写入 CSV:

import csv
import lxml.etree
x = r'C:\Users\...\jh944.xml'

with open('output.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow('SubmittingSystemVendor')
root = lxml.etree.fromstring(x)

writer.writerow(row)

这是 XML 文件的示例:

<?xml version="1.0" encoding="utf-8"?>
<EOYGeneralCollectionGroup SchemaVersionMajor="2014-2015" SchemaVersionMinor="1" CollectionId="157" SubmittingSystemName="MISTAR" SubmittingSystemVendor="WayneRESA" SubmittingSystemVersion="2014" xsi:noNamespaceSchemaLocation="http://cepi.state.mi.us/msdsxml/EOYGeneralCollection2014-20151.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<EOYGeneralCollection>
<SubmittingEntity>
<SubmittingEntityTypeCode>D</SubmittingEntityTypeCode>
<SubmittingEntityCode>82730</SubmittingEntityCode>
</SubmittingEntity>

错误是:

lxml.etree: Start tag expected, '<' not found, line 1, column 1

最佳答案

您正在使用 lxml.etree.fromstring,但给它一个文件路径作为参数。这意味着它试图将“C:\Users...\jh944.xml”解释为要解析的 XML 数据。

相反,您想打开包含此 XML 的文件。您可以简单地将对 fromstring 的调用替换为 lxml.etree.parse,它将接受文件名或打开的文件对象作为参数。

关于python - lxml.etree : Start tag expected, '<' 未找到,第 1 行,第 1 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32510295/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com