Historielektion: Vad är en .csv-fil? Varför Excel ändrar dina data när den öppnar en
Kommaseparerade värden – tabellen i ren text som växte fram ur 1970-talets FORTRAN och de tidiga kalkylprogrammen, inte beskrevs förrän i RFC 4180 år 2005 och fortfarande tappar inledande nollor och gennamn varje gång ett kalkylprogram gissar vad texten betyder.

TL;DR
En .csv-fil innehåller kommaseparerade värden (comma-separated values): en tabell skriven som ren text, en post per rad, kommatecken mellan fälten och dubbla citattecken runt varje fält som innehåller ett kommatecken, ett citattecken eller en radbrytning. Idén är äldre än pc:n – IBM:s FORTRAN-kompilatorer läste 1972 kommaseparerad indata från terminaler och hålkort – och 1983 sparade kalkylprogram redan filer med filändelsen .CSV. Ingen skrev ned reglerna formellt förrän RFC 4180 i oktober 2005, som också registrerade MIME-typen text/csv. Eftersom en CSV saknar kolumntyper, formler och uppgift om kodning måste varje program som öppnar den gissa – och Excels gissningar är skälet till att inledande nollor försvinner, gennamn blir datum och hela filen ibland hamnar i en enda kolumn.
Vad är en .csv-fil?
Öppna en CSV i Anteckningar så är ingenting dolt: rader med text, varje rad en post, varje kommatecken ett kolumnbyte. Ett fält som måste innehålla ett kommatecken omges av dubbla citattecken, och ett citattecken inuti ett sådant fält skrivs två gånger. Det är hela formatet. Det finns inget huvudblock, ingen lista över kolumntyper, inga formler och ingen formatering – bara värdena, så som något program skrev dem. Den enkelheten är skälet till att nästan varje databas, kalkylprogram, bokföringsprogram, bank och programspråk kan läsa och skriva CSV, och till att det fortfarande är reservformatet för de flesta dataexporter och -importer.
Varför förstör Excel min CSV?
Eftersom en CSV inte kan säga vad dess värden är bestämmer Excel själv. Microsofts egen dokumentation listar de automatiska konverteringar som Excel som standard gör när text skrivs, klistras in eller läses in: Den tar bort inledande nollor och gör resten till ett tal (00123 blir 123 – så tappar postnummer och anställningsnummer sin första siffra); den behåller bara de första 15 siffrorna i långa tal och kan visa dem i grundpotensform (de sista siffrorna i ett kort- eller kontonummer blir nollor); den läser siffror runt bokstaven E som en exponent (123E5 blir 1,23E+07); och den omvandlar datumliknande text som JAN1 till ett datum. Sparar du sedan bladet som CSV igen är det de konverterade värdena som skrivs.
Den andra överraskningen är avgränsaren. När Excel sparar eller öppnar en CSV använder den listavgränsaren från Windows regionsinställningar. I stora delar av kontinentala Europa – även Sverige – är kommatecknet decimaltecken (3,14), så listavgränsaren är semikolon, och Microsofts instruktioner bekräftar sambandet: Att ställa in decimaltecknet som kommatecken ”tvingar Excel att använda semikolon som listavgränsare”. En fil sparad i Stockholm är därför ofta full av semikolon, och en kommaseparerad fil från ett amerikanskt system kan öppnas med varje rad hoppressad i kolumn A. Teckenkodningen är den tredje fällan: Microsoft påpekar att en UTF-8-CSV bara öppnas normalt om den sparats med byte order mark (BOM) – några osynliga byte i början som anger kodningen; utan den kan å, ä och ö bli till rappakalja, om du inte importerar filen och väljer UTF-8.
Öppna en CSV utan gissningar
I stället för att dubbelklicka kan du i Excel välja Data > Hämta data > Från text/CSV, kontrollera avgränsare och filursprung (kodning) och ställa in kolumner som postnummer, kontonummer eller gensymboler som Text innan du läser in. Nyare Excel-versioner låter dig också stänga av enskilda konverteringar under Arkiv > Alternativ > Data > Automatisk datakonvertering.
1972: kommatecken i stället för kortkolumner
Innan CSV hade ett namn hade det ett skäl. Data till 1960-talets stordatorprogram stansades vanligen i fasta kolumner på 80-kolumners hålkort, och ett FORTRAN-program behövde en FORMAT-sats som angav exakt vilka kolumner som innehöll vilket tal; ett värde som stansats en kolumn fel lästes fel. IBM:s FORTRAN IV-programprodukter för operativsystemen OS och VM/370, beskrivna i en allmän informationshandbok daterad juli 1972, erbjöd ett alternativ kallat liststyrd in- och utmatning. Handboken förklarar att indatavärden ”skiljs åt av blanksteg eller kommatecken, där på varandra följande kommatecken anger utelämnade värden”, och att programmerarens oro ”för datauppställning och specifika kortkolumner” försvinner. IBM listade det då bland sina tillägg till standardspråket.
Liststyrd inmatning blev en del av standardspråket med FORTRAN 77, godkänt 1978. Det accepterade kommatecken eller blanksteg som avgränsare, så en text utan citattecken kunde inte innehålla något av dem – just det problem som CSV:s citattecken senare måste lösa. Inget av detta var ännu ett filformat. Det var ett sätt att låta människor skriva tal efter varandra, åtskilda av kommatecken, och låta datorn räkna ut var vart och ett började.
1983: ett kalkylprogram ger filerna en filändelse
Mikrodatorernas kalkylprogram gjorde vanan till filer. Referenshandboken från 1983 till Osborne Executive, en bärbar kontorsdator som levererades med Sorcims SuperCalc, beskriver ett konverteringsverktyg som ger ”.CSV för Comma-Separated-Value-filer” och förklarar uppbyggnaden: datarader, var och en avslutad med vagnretur och radmatning, kommaseparerade värden, teckensträngar inom dubbla citattecken – som får innehålla kommatecken – och ett Control-Z som markerar filens slut. Handboken tillägger att sådana data också kunde skapas på en stordator och laddas ned till skrivbordet.
Samma handbok beskriver den kompromiss som fortfarande definierar formatet. Formler skickas inte till en CSV-fil; ”bara de värden som syns på skärmen vid konverteringstillfället” skickas. Konvertera ett blad till CSV och tillbaka, så är formlerna borta. CSV var aldrig tänkt att ersätta ett kalkylblad. Det var den minsta gemensamma nämnaren som lät ett kalkylprogram, en databas, ett BASIC-program och en stordator komma överens om rader och kolumner.
Så fungerar byten
En CSV består bara av tecken. Varje post är en rad, klassiskt avslutad med vagnretur och radmatning (CRLF, de två styrtecken som DOS och Windows använder för att avsluta en rad), även om vissa program bara skriver en radmatning. Fälten skiljs åt av kommatecken. Ett fält får stå inom dubbla citattecken och måste det om det innehåller ett kommatecken, ett citattecken eller en radbrytning; ett citattecken inuti ett sådant fält dubbleras (""). Den första raden kan vara en rubrikrad med kolumnnamn, men ingenting i filen säger om den är det. Och ingenting säger vad värdena betyder: 00123, 1-2 och MARCH1 är bara text tills ett program bestämmer något annat.
Filen berättar inte heller vilken teckenkodning den använder – kopplingen mellan byte och bokstäver. Äldre CSV-filer skrevs ofta i en enbytes teckentabell från Windows eller DOS som passade datorns språk; nyare är oftast UTF-8, den Unicode-kodning som webben bygger på. Programmet som läser filen måste gissa – därför spelar BOM roll för Excel, och därför är namn med accenter, å, ä, ö eller asiatiska skriftsystem de första som går sönder när en CSV flyttas mellan system.
2005: RFC 4180 skriver ned reglerna
I början av 2000-talet fanns CSV överallt och var specificerat ingenstans. I oktober 2005 publicerade IETF (Internet Engineering Task Force, organet som tar fram internetstandarder) RFC 4180, ”Common Format and MIME Type for Comma-Separated Values (CSV) Files”, skriven av Yakov Shafranovich. Inledningen är rak: ”Förvånansvärt nog har detta format, trots att det är mycket vanligt, aldrig dokumenterats formellt.” Promemorian beskriver ”det format som de flesta implementationer verkar följa” – CRLF-radbrytningar, en valfri rubrikrad, kommatecken, regler för dubbla citattecken – och registrerar text/csv hos IANA, organet som för listan över medietyper, med de valfria parametrarna charset och header. Den noterar till och med att ”vissa program, som Microsoft Excel, inte använder dubbla citattecken alls”.
RFC 4180 är en informativ RFC; den säger själv att den ”inte fastställer någon internetstandard av något slag”. Senare arbete byggde runt den i stället för att ersätta den: 2014 definierade RFC 7111 hur en webbadress kan peka på specifika rader, kolumner eller celler i en text/csv-fil, och en W3C-arbetsgrupp kallad CSV on the Web, som stängdes 2016, publicerade rekommendationer för att beskriva en CSV:s kolumner – inklusive deras typer – i en separat metadatafil. Själva CSV-filen har fortfarande inga.
När gissningen slår fel: gener, datum och förlorade rader
Det bäst dokumenterade offret är biologin. 2004 rapporterade Barry Zeeberg och kollegor i BMC Bioinformatics att Excels standardkonverteringar ändrade gennamn: Tumörsuppressorn DEC1 blev ”1-DEC”, och RIKEN-klonidentifierare som 2310009E13 blev talet 2,31E+13 – konverteringar som de kallade oåterkalleliga. 2016 granskade Mark Ziemann, Yotam Eren och Assam El-Osta kompletterande Excel-filer från 18 tidskrifter publicerade 2005–2015 och hittade fel i gennamn i filer från 704 artiklar – 19,6 % av artiklarna med genlistor i Excel. 2020 publicerade HUGO Gene Nomenclature Committee (HGNC), som godkänner mänskliga gensymboler, riktlinjer som bekräftade att alla symboler som automatiskt blev datum hade ändrats under 2019: SEPT1 heter nu SEPTIN1 och MARCH1 heter nu MARCHF1.
CSV fanns också i början av ett haveri inom hälso- och sjukvården. Mellan 25 september och 2 oktober 2020 saknades 15 841 positiva covid-19-fall i England i de dagliga siffrorna. Public Health England (PHE) uppgav att vissa filer hade överskridit den maximala filstorleken i den process som läste in resultaten i centrala system. BBC rapporterade att testföretagen hade levererat sina resultat som CSV-filer utan problem, men att PHE:s automatiska process hällde över dem i Excel-mallar i det gamla XLS-formatet, som bara rymmer omkring 65 000 rader; med flera rader per test blev varje mall full vid omkring 1 400 fall, och resten föll bort.
Microsoft ändrade till slut programvaran i stället för standardinställningarna. I oktober 2023 meddelade Excel-teamet att inställningar för automatisk datakonvertering var allmänt tillgängliga för Windows (version 2309 eller senare) och Mac (16.77 eller senare), med kryssrutor för inledande nollor, avkortning till 15 siffror, bokstaven E och ”sammanhängande bokstäver och siffror” till datum, plus en valfri varning när en .csv- eller .txt-fil är på väg att konverteras. Konverteringarna är påslagna tills du stänger av dem.
Behåll den ursprungliga CSV-filen
När Excel har konverterat en kolumn och du sparar över filen innehåller CSV:n de ändrade värdena; den ursprungliga texten går inte att återskapa därifrån. Arbeta på en kopia och spara den orörda exporten bredvid det du redigerar.
Varför .csv-filer fortfarande ligger på diskar 2026
CSV har överlevt systemen som skapade filerna eftersom det var nödutgången. Banker erbjuder kontoutdrag som CSV, gamla bokförings- och medlemsprogram exporterar sina poster så, laboratorieinstrument och dataloggrar skriver det, och decennier av databasmigreringar har passerat genom det. Många av de filerna är i dag äldre filer: exporter från programvara som inte längre körs, skrivna i en gammal teckentabell, med semikolon eller kommatecken beroende på hur pc:n var inställd, och fulla av postnummer, artikelnummer och id-nummer som ett modernt kalkylprogram tyst tolkar om vid första dubbelklicket.
Legacy File Converter listar kommaseparerade värden (.csv) bland kalkylformaten på sidan Filtyper som stöds och konverterar dem på din egen Windows-dator till XLSX, PDF, Markdown eller HTML – ingenting laddas upp, vilket spelar roll när exporten innehåller bank- eller medlemsuppgifter. Kontrollera efteråt kolumner som postnummer, långa id-nummer och datum mot originalfilen. Om andra tidiga sätt att utbyta kalkyldata, se Historielektion: Vad är en .dif-fil? och Historielektion: Vad är en .slk-fil?; om den binära arbetsboken i covid-19-historien, se Historielektion: Vad är en .xls-fil?.
Relaterad läsning
Redo att öppna dina gamla filer?
Börja gratis och lås sedan upp obegränsade konverteringar med en Standard-licens för $79.95 som betalas en gång. Ladda ned installationsprogrammet för Windows – alla funktioner för upp till 10 filer.
Kostnadsfri testversion
Alla programmets funktioner · upp till 10 filer
Windows 10 eller 11
Kostnadsfri testversion – konvertera upp till 10 filer. Ladda ned installationsprogrammet för Windows och konvertera lokalt på din dator.
Direkt installationsprogram för Windows · offline-MSI
Är det säkert? — utgivare, installationsprogram och hjälp med SmartScreen
Kräver Windows 10 eller 11. Inga prenumerationer.