import xml.etree.ElementTree as ET import csv import sys file_name_xml = sys.argv[1] file_name_csv = sys.argv[2] tree = ET.parse(file_name_xml) root = tree.getroot() with open(file_name_csv, 'wb') as csvfile: spamwriter = csv.writer(csvfile) for neighbor in root.iter('DATI'): parent = neighbor.attrib.get("ISTANTE") parent = parent[:-4] number = len(neighbor.getchildren()) if number > 1: vm = neighbor[0].text vmin = neighbor[1].text vmax = neighbor[2].text else: vm = "NA" vmin = "NA" vmax = "NA" spamwriter.writerow([parent, vm, vmin, vmax])