我猜在下面的列表中插入一个单独的列表(我猜是不是每个客户都会被插入到一个列表中)。当然,在构建csv文件时,必须遍历列表。在
如果您真的希望所有元素的值都在一个列表中,那么可以跳过cust list的创建,直接将这些值插入list\u prn中。在
这都说明顾客的所有子要素只存在一次。在from xml.etree import ElementTree
import csv
list_prm = []
tree = ElementTree.parse('file.xml')
root = tree.getroot()
for elem in tree.iter('Customer'):
# only the first customer_id
customer_id = elem.find('Id_Customer')
if customer_id is not None:
# Create a separate list for each Customer,
# only if there's Customer Id, skip creation otherwise
cust = []
cust.append(customer_id.text())
cust.append(elem.findtext('Segment', default='empty'))
cust.append(elem.findtext('Extrainfo', default='empty'))
cust.append(elem.findtext('Address/street', default='empty'))
cust.append(elem.findtext('Address/zipcode', default='empty'))
list_prm.append(cust)
print(list_prm)