je besoin d'un script python pour extraire des données à partir du fichier xmlfichier xml script python fichier csv
Je dispose d'un fichier xml comme Shoen ci-dessous:
<software>
<name>Update Image</name>
<Build>22.02</Build>
<description>Firmware for Delta-M Series </description>
<CommonImages> </CommonImages>
<ModelBasedImages>
<ULT>
<CNTRL_0>
<file type="UI_APP" ver="2.35" crc="1234"/>
<file type="MainFW" ver="5.01" crc="5678"/>
<SIZE300>
<file type="ParamTableDB" ver="1.1.4" crc="9101"/>
</SIZE300>
</CNTRL_0>
<CNTRL_2>
<file type="UI_APP" ver="2.35" crc="1234"/>
<file type="MainFW" ver="5.01" crc="9158"/>
</CNTRL_2>
</ULT>
</ModelBasedImages>
</software>
Je veux que les données sous forme de tableau comme:
Typever crc
UI_APP 2,35 1234
MainFW 5,01 5678
ParamTableDB 1.1.4 9101
UI_APP 2,35 1234
MainFW 5.01 9158
Extrait dans tout type de fichier csv/doc ....
J'ai essayé ce code:
import xml.etree.ElementTree as ET
import csv
tree = ET.parse("Build_40.01 (copy).xml")
root = tree.getroot()
# open a file for writing
Resident_data = open('ResidentData.csv', 'w')
# create the csv writer object
csvwriter = csv.writer(Resident_data)
resident_head = []
count = 0
for member in root.findall('file'):
resident = []
address_list = []
if count == 0:
name = member.find('type').tag
resident_head.append(name)
ver = member.find('ver').tag
resident_head.append(ver)
crc = member.find('crc').tag
resident_head.append(crc)
csvwriter.writerow(resident_head)
count = count + 1
name = member.find('type').text
resident.append(name)
ver = member.find('ver').text
resident.append(ver)
crc = member.find('crc').text
resident.append(crc)
csvwriter.writerow(resident)
Resident_data.close()
Merci à l'avance édités: code xml actualisé.
Qu'avez-vous essayé? La question est hors-sujet sauf si vous mentionnez certains de vos efforts pour résoudre le problème. –
'xml.etree.ElementTree.ParseError: balise non concordante: ligne 13' pour la balise' '. Utilisez 'bs4' peut-être? –
Ce n'est pas valide xml. – Goyo