Elemnt 对应父元素
ElementTree对应结构树
<code>
from xml.etree.ElementTree import Element,ElementTree import csv e = Element('Data') e.set('name','abc') e.text = '123' from xml.etree.ElementTree import tostring # 可以看到元素的xml的形式 b'<Data name="abc">123</Data>' print(tostring(e)) #格式化xml文件 def pretty(e,level = 0): if len(e) > 0: e.text = '\n' + '\t' * (level + 1) for child in e: pretty(child,level + 1) child.tail = child.tail[:-1] e.tail = '\n' + '\t' * level def csvToXml(fname): with open(fname,'r') as f: reader = csv.reader(f) #得到第一行 headers = next(reader) root = Element('Data') for row in reader: eRow = Element('Row') root.append(eRow) #同时迭代头部信息和数据信息 for tag,text in zip(headers,row): e = Element(tag) e.text = text eRow.append(e) pretty(root) return ElementTree(root) et = csvToXml('pingan.csv') et.write('pingan.xml')
</code>