Varför konvertera XML till CSV?
XML är standardformatet för export från ERP, CRM, banksystem och myndighetsportaler, men dess taggstruktur gör det svårt att analysera i ett kalkylblad eller ladda in i en databas. Genom att konvertera till .CSV får man en platt rad-kolumn-layout som vilket verktyg som helst kan importera utan ytterligare transformering. Konverteringen fungerar bra så länge XML-filen har en regelbunden, tabelliknande struktur.
Hur man konverterar XML till CSV
Microsoft Excel - Power Query BUILT-IN
Gå till Data > Hämta data > Från fil > Från XML, välj det repeterande elementet i Power Query, sedan Arkiv > Spara som > CSV.
OpenOffice.org Calc FREE
Öppna xml-filen i Calc, mappa element till kolumner via panelen för XML-källor, exportera sedan som Text CSV (.csv).
Kommandorad - Python CLI
Skriv ett kort skript med xml.etree.ElementTree och csv.writer, kör det sedan som python convert.py input.xml output.csv.
Program som konverterar XML
Om dessa format
En XML-fil är ett textdokument som lagrar strukturerad data i nästlade, anpassade taggar. Eftersom det bara är text kan vilken textredigerare som helst öppna den - dra den till en…
Öppna detaljer för .XML →En CSV-fil lagrar tabelldata som vanlig text - en rad per linje, värden separerade med kommatecken (eller semikolon i europeiska regioner). Alla kalkylprogram kan öppna den: Excel, Google…
Öppna detaljer för .CSV →Kvalitet & vad man bör tänka på
- CSV är platt - nästlade XML-element och attribut tas antingen bort eller slås samman till ett textvärde; inspektera alltid resultatet innan du förlitar dig på det.
- XML-namnrymder kan ge röriga kolumnnamn som
{http://example.com/ns}fieldnamei utdatan; ett förbehandlingssteg som rensar namnrymder undviker detta. - Se till att verktyget skriver i UTF-8 om din
xmlinnehåller tecken utanför ASCII - Excel på Windows kan använda systemets teckentabell som standard och korrumpera accenter eller icke-latinsk text.
Vanliga frågor
Fungerar detta för alla XML-filer?
xml konverteras inte automatiskt till en användbar platt csv.Vad händer med nästlade element?
xmltodict för att platta till strukturen innan du skriver till csv.