У меня есть большой XML файл (около 2 МБ), который я хочу преобразовать в Excel. Пока безуспешно, но я просто не понимаю, почему .......
XML формат:
<?xml version="1.0" encoding="utf-8"?>
<XMLData xmlns:xsi="http://www.w3.org">
<PinList>
<Pin>
<Comment />
<LedAdr>-1</LedAdr>
<PinName />
<System>1</System>
<Type>DataType2</Type>
</Pin>
<Pin>
<Comment />
<LedAdr>-1</LedAdr>
<PinName>Data1</PinName>
<System>2</System>
<Type>DataType1</Type>
</Pin>
<Pin>
<Comment />
<LedAdr>-1</LedAdr>
<PinName>Data2</PinName>
<System>3</System>
<Type>DataType3</Type>
</Pin>
<Pin>
<Comment />
<LedAdr>-1</LedAdr>
<PinName>Data3</PinName>
<System>4</System>
<Type>DataType2</Type>
</Pin>
</PinList>
</XMLData>
Это мой код:
def readFile(filename):
if not os.path.exists(filename): return
tree = ET.parse(filename)
root = tree.getroot()
dict_keys = ["PinName","System","Type" ]
mdlist = []
for child in root.findall("PintableData"):
temp = []
for key in dict_keys:
temp.append(child.find(key).text)
mdlist.append(temp)
return mdlist
def to_Excel(mdlist):
wb = Workbook()
ws = wb.active
for i,row in enumerate(mdlist):
for j,value in enumerate(row):
ws.cell(row=i+1, column=j+1).value = value
newfilename = os.path.abspath("/xml_to_excel.xlsx")
wb.save(newfilename)
print("complete")
return
result = readFile("//location/of/file/test.xml")
if result:
to_Excel(result)
Я не получаю никакой ошибки или какого-либо вывода.
Это мой целевой результат
Нет системного PinName Тип Комментарий