CSV vs TSV: Vilket Avgränsarformat Ska Du V9lja?
Snabbt svar
Använd CSV för generell datautbyte, kalkylblads-import/export och maximal kompatibilitet. Använd TSV när din data innehåller kommatecken men inte tabbar, för att undvika quoting och escaping. TSV är vanligt i bioinformatik och NLP; CSV är den universella standarden.
Introduktion
CSV (Comma-Separated Values) och TSV (Tab-Separated Values) är två plain-text-format för tabellär data. Båda lagrar rader som rader med fält separerade av en avgränsare. CSV använder kommatecken; TSV använder tab-tecken. Valet av avgränsare påverkar escaping, kompatibilitet med kalkylblad och hantering av textfält som innehåller avgränsaren.
Steg för steg
-
Jämför avgränsare och flykt
CSV använder kommatecken. Om ett fält innehåller ett kommatecken måste det lindas in med citattecken: "Smith, John". Om ett fält innehåller citattecken måste de escapes: "Han sa ""hej""". TSV använder flikar. Flikar visas sällan i textdata, så TSV-fält behöver vanligtvis inga citat eller escape – enklare analys.
-
Jämför kompatibilitet
CSV stöds universellt: Excel, Google Sheets=Sheets, varje databas, alla programmeringsspråk. TSV stöds också brett men mindre standardiserat — vissa verktyg tolkar flikar annorlunda. Excel upptäcker båda automatiskt, men CSV är standardexportformatet.
-
Jämför analysens komplexitet
CSV parsning kräver en tillståndsmaskin för att hantera citatregler (RFC 4180). TSV analys är trivialt: dela upp varje rad efter tabbtecken. Detta gör TSV snabbare att analysera och mindre felbenägen. Dock har CSV en formell spec (RFC 4180); TSV har ingen formell standard.
-
Jämför användningsfall
CSV: import/export av kalkylblad, data APIs, ETL-pipelines, konfigurationsfiler, universellt datautbyte. TSV: bioinformatik (BLAST, GFF), NLP (CoNLL-format), urklippsdata (kopia från Excel = TSV), loggfiler med tabbavgränsare.
-
Bestäm dig utifrån dina uppgifter
Om din data innehåller kommatecken (namn, adresser, meningar): TSV undviker citat. Om din data innehåller flikar (sällsynt i text): CSV undviker att citera. Om du behöver maximal kompatibilitet: CSV. Om du vill ha enklare analys och dina data är flikfria: TSV.
Exempel
Samma data i CSV och TSV
Input: CSV: name,age,city\n"Smith, John",30,"New York, NY"\nTSV: name\tage\tcity\nSmith, John\t30\tNew York, NY
Produktion: CSV kräver citattecken för fält med kommatecken. TSV behöver ingen citat eftersom flikar inte visas i data.
Vanliga problem
- CSV citationsteckenfall: fält som innehåller kommatecken, citattecken eller nyrader kräver RFC 4180-citatregler – en naiv uppdelning med kommatecken kommer att korrumpera data med inbäddade kommatecken.
- TSV har ingen formell standard: till skillnad från CSV (RFC 4180) har TSV inga officiella specifikationer, så verktyg kan hantera kantfall på olika sätt - använd TSV endast inom kontrollerade pipelines.
- Excel-kodningsproblem: Excel kan exportera CSV med BOM eller lokalspecifika avgränsare (semikolon i EU-språk) — ange UTF-8-kodning och verifiera avgränsare vid import.
- Nyrads tvetydighet: CSV fält med inbäddade nyrader är giltiga men bryt rad-för-rad-tolkning - TSV har sällan detta problem eftersom flikar är ovanliga i textdata.
Tips
- Använd CSV för maximal kompatibilitet — alla kalkylblad, databas och programmeringsspråk stöder det inbyggt.
- Använd TSV när din data innehåller kommatecken men inte tabbar (namn, adresser, meningar) för att undvika att citera komplexitet helt.
- Använd alltid en korrekt CSV-parser (inte string.split) för att hantera RFC 4180-citeringsregler – naiv delning korrumperar fält med inbäddade kommatecken eller citattecken.
- När du kopierar data från Excel till en textredigerare använder klippbordet formatet TSV — klistra in i en .tsv-fil för att bevara fält med kommatecken korrekt.