Ciao ragazzi, sto cercando di parsare pi� file xml di una directory e inserire i dati in un csv quando si tratta solo di un file ci riesco perch� inserisco direttamente il nome nel comandopero quando si tratta di una directory riesco a prendere il primo file e basta.codice:ET.parse('file.xml')
Allego il codice magari sapete a darmi qualche indizio.
Magari devo mettere qualche ciclo in pi� per ciclare tutto ma non so dove inserirlo.codice:import csv import xml.etree.ElementTree as ET import os path = r"C:\\Users\ADMIN\Desktop\prog\." for filename in os.listdir(path): if not filename.endswith('.xml'):continue fullname=os.path.join(path,filename) print(fullname) tree= ET.parse(fullname) root = tree.getroot() csvfile=open('prova.csv','w') csv_writer = csv.writer(csvfile) PrimoFor=[] print("Dati Riepilogo per aliquota IVA e natura") for datir in root.iter('DatiRiepilogo'): for element in datir: print(element.tag,element.text) PrimoFor.append(element.text) for CedentePrestatore in root.iter('CedentePrestatore'): for TagFiglioCedentePrestatore in CedentePrestatore: for TagNipoteCedentePrestatore in TagFiglioCedentePrestatore: for ProNipoteCedentePrestatore in TagNipoteCedentePrestatore: print(ProNipoteCedentePrestatore.tag,ProNipoteCedentePrestatore.text) PrimoFor.append(ProNipoteCedentePrestatore.text) for DatiGeneraliDocumento in root.iter('DatiGeneraliDocumento'): for FiglioDatiGeneraliDocumento in DatiGeneraliDocumento: if(FiglioDatiGeneraliDocumento.tag!='Divisa'): print(FiglioDatiGeneraliDocumento.tag,FiglioDatiGeneraliDocumento.text) PrimoFor.append(FiglioDatiGeneraliDocumento.text) for DatiPagamento in root.iter('DatiPagamento'): for TagFiglioDatiPagamento in DatiPagamento: for TagNipoteDatiPagamento in TagFiglioDatiPagamento: if(TagNipoteDatiPagamento.tag=='ModalitaPagamento'): print(TagNipoteDatiPagamento.tag,TagNipoteDatiPagamento.text) PrimoFor.append(TagNipoteDatiPagamento.text) csv_writer.writerow(PrimoFor) #closecsv csvfile.close()
Grazie

Rispondi quotando
