from lxml import etree import csv ns = '{urn:schemas-microsoft-com:office:spreadsheet}' doc = etree.parse('/home/share/guillaume/grid1_1cz1rlvt.xml') tree = doc.getroot() with open("output.csv", "w") as fh: csvwriter = csv.writer(fh) for row in tree.findall(".//{0}Row".format(ns)): csvwriter.writerow([cell.findtext('{0}Data'.format(ns)) for cell in row])