Python создает XML из CSV в цикле
Я пытаюсь создать XML-файл из CSV
CSV:
CatOne, CatTwo, CatThree
ProdOne, ProdTwo, ProdThree
ProductOne, ProductTwo, ProductThree
Желаемый XML:
ProdOne
ProdTwo
ProdThree
ProductOne
ProductTwo
ProductThree
Вот мой код:
#! usr/bin/python
# -*- coding: utf-8 -*-
import csv, sys, os
from lxml import etree
def main():
csvFile = 'test.csv'
xmlFile = open('myData.xml', 'w')
csvData = csv.reader(open(csvFile), delimiter='\t')
header = csvData.next()
details = csvData.next()
details2 = csvData.next()
root = etree.Element('root')
prod = etree.SubElement(root,'prod')
for index in range(0, len(header)):
child = etree.SubElement(prod, header[index])
child.text = details[index]
prod.append(child)
prod = etree.SubElement(root,'prod')
for index in range(0, len(header)):
child = etree.SubElement(prod, header[index])
child.text = details2[index]
prod.append(child)
result = etree.tostring(root, pretty_print=True)
xmlFile.write(result)
if __name__ == '__main__':
main()
Я получаю желаемый результат, но то, как я это делаю, действительно дерьмово. Я'Я хотел бы иметь это в некотором родовом виде, и я верю, что это возможно гораздо более питоническим, но я могу 'не могу понять, как это сделать. Код также должен работать, если CSV имеет 10 или даже 20 строк.
Спасибо за помощь