回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我是新来的,我一直在尝试创建一个小python脚本来将xml转换为csv。根据我在Stackoverflow上阅读的各种帖子,我设法想出了一个可以正常工作的示例代码。。然而,我试图处理的数据有多个层次,因此我不确定如何在叶级提取数据。在</p>
<p>以下是数据的外观:</p>
<pre><code><?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Transmission>
<TransmissionBody>
<level1>
<level2>
<level3>
<level4>
<level5>
<level6>
<ColA>ABC</ColA>
<ColB>123</ColB>
</level6>
</level5>
</level4>
</level3>
</level2>
</level1>
</TransmissionBody>
</Transmission>
</code></pre>
<p>我尝试使用下面的代码尝试将xml转换为csv</p>
^{pr2}$
<p>然而,这个代码只是从第二层提取,而不是从第六层提取可乐。在</p>
<p><strong>预期输出</strong>:</p>
<pre><code>Transmission,TransmissionBody,level1,level2,level3,level4,level5,level6,ColA,ColB
,,,,,,,,ABC,123
,,,,,,,,DEF,456
</code></pre>
<p><strong>更新代码</strong>:</p>
<pre><code>allFiles = glob.glob(folder)
for file in allFiles:
xmllist = [file]
for xmlfile in xmllist:
tree = ET.parse(xmlfile)
root = tree.getroot()
def f(elem, result):
result[elem.tag] = elem.text
cs = elem.getchildren()
for c in cs:
result = f(c, result)
return result
d = f(root, {})
df = pd.DataFrame(d, index=['values'])
</code></pre>