【发布时间】:2019-12-26 17:45:53
【问题描述】:
我需要将一个 xml 文件目录解析为一个大的 csv 文件,我需要元素“Param”下的某些属性(属性是“Name”和“PNum”)。在名为 Content.xml 的目录中有另一个 XML 文件,我可以获取其他 XML 文件的所有名称并将它们设置为 FileName。问题是我无法弄清楚如何在每个 XML 文件中获取这些属性,因为每个 XML 文件都有不同的组织,有些似乎一开始就没有这些属性。
我编写的代码适用于目录中的一个 XML 文件,该文件输出包含所有相关信息的 CSV 文件。
import xml.etree.ElementTree as ET
import csv
import os
FileName = '------.xml'
tree = ET.parse(FileName)
root = tree.getroot()[4]
csv_out = open('CsvOut', 'w')
csvwriter = csv.writer(csv_out)
count = 0
for child in root:
generation = []
parameters = []
if count == 0:
csv_head = ['Generation', 'Parameter Name', 'Parameter Number']
csvwriter.writerow(csv_head)
count = count + 1
gen = FileName[:-4]
generation.append(gen)
parameters.append(generation)
name = child.get('Name')
parameters.append(name)
num = child.get('PNum')
parameters.append(num)
csvwriter.writerow(parameters)
csv_out.close()
【问题讨论】:
标签: python xml python-3.x csv