CSV-kontaktliste (.csv)

RFC Standard

Comma-Separated Values (CSV) er et utbredt format for tabulære data i ren tekst, der hver linje representerer en datapost og feltene skilles med skilletegn.

Konverter XLSX til CSV

Gratis XLSX til CSV-konverterer i nettleseren. Konverter filer umiddelbart på enheten din.

Komprimer CSV på nett

Privat - filer forlater aldri enheten din

Inspeksjon og metadata

Operativsystemer og filanalysatorer identifiserer CSV-filer ved å undersøke den innledende binære bytesekvensen:

Velg eller slipp filer her

Privat - filer forlater aldri enheten din

eller lim inn Ctrl+V
Personverngaranti uten nettverksoverføring: 0 byte ble lastet opp til eksterne servere. All behandling foregikk lokalt i det isolerte nettlesermiljøet ditt.

Filsignatur på bytenivå (magiske byte)

Operativsystemer og filanalysatorer identifiserer CSV-filer ved å undersøke den innledende binære bytesekvensen:

HEX-SIGNATUR (OFFSET 0):

Ingen fast signatur

ASCII-REPRESENTASJON: Tekstdata; kodingen varierer (ofte UTF-8)

Standardisering: RFC 4180 / IETF

Tekniske spesifikasjoner

BeholderarkitekturAvgrenset flat tekstfil som representerer tabulære datarader og kolonner
KomprimeringGzip og Deflate kan komprimere repetitiv tekst; den resulterende størrelsen avhenger av dataene og innstillingene.
BytterekkefølgeUTF-8 tekststrøm (valgfri UTF-8 BOM EF BB BF brukes av Excel)
FargeromIkke relevant
Kanaler og strukturRadposter avgrenset av CRLF med kolonner avgrenset av kommaer
Maks. dimensjonerUbegrenset; kan strømmes til gigabyte uten å laste hele filen i minnet
GjennomsiktighetIkke relevant
Strømming og progressiv visningInnebygd linje-for-linje strømmebehandling støttes av alle datapipeliner

Teknisk sammenligningsmatrise: CSV sammenlignet med konkurrenter

Teknisk attributtCSV (Gjeldende)Excel (XLSX)ParquetJSON
FiltypeFlat tabell i ren tekstZippet XML-regnearkBinær kolonnelagringHierarkisk tekst
Flere arkNei (kun én enkel flat tabell)Ja (flere arbeidsbøker og ark)Partisjonsbasert lagringNøstede matriser og objekter
DatatyperUtypede rådataTypede celler, formler, formateringStrenge binære kolonnetyperPrimitive typer (streng, tall, boolsk verdi)
Big Data-analyseTreg (krever lesing av hver rad lineært)Ikke egnet for store dataUltrarask (kolonnebeskjæring og predikat-pushdown)Moderat

Vanlige korrupsjonsmoduser og heksadesimal gjenopprettingsveiledning

Kolonner forskyves til høyre eller antall rader stemmer ikke overens.

Underliggende årsak: Et tekstfelt som inneholder et komma som ikke er omsluttet av anførselstegn.

Utbedring: RFC 4180 krever at felt som inneholder kommaer omsluttes av doble anførselstegn: "Smith, John".

Aksenttegn gjengis som rare symboler (mojibake som é i stedet for é) i Excel.

Underliggende årsak: Excel åpnet en UTF-8 CSV ved å anta den eldre Windows ANSI/CP1252-tegnkodingen.

Utbedring: Legg til 3-byte UTF-8 Byte Order Mark (0xEF 0xBB 0xBF) helt i begynnelsen av filen.

Sikkerhetsanalyse og angrepsvektorer mot parsere

CSV-filer åpnes direkte i regnearkprogrammer som Excel og Google Sheets, noe som utsetter brukere for formelinjeksjonsangrep (CSV-injeksjon).

Kjente angrepsvektorer

  • Formelinjeksjon: Celler som starter med '=', '+', '-' eller '@' som utfører regnearkmakroer eller DDE-kommandoer (f.eks. '=cmd|' /C calc'!A0').
  • Dataeksfiltrering via HYPERLINK()-formler som sender sensitive celledata til eksterne angriperservere ved klikk.

Anbefalte sikkerhetstiltak: Når du eksporterer brukerdata til CSV, må du sette inn et enkelt anførselstegn (') eller en tabulator foran alle celler som starter med '=', '+', '-' eller '@' for å tvinge frem ren tekstvisning i Excel.

Historisk opprinnelse og milepæler

2015W3C-standarden Model for Tabular Data and Metadata on the Web standardiserer CSV on the Web (CSVW) med JSON-LD-metadatabeskrivelser.
2005IETF publiserer RFC 4180, som etablerer den formelle spesifikasjonen for CSV-filer.
1972IBM Fortran (H Extended)-kompilatoren implementerer kommaseparert input/output.

Viktige fordeler

  • Maksimal enkelhet: lesbar i en hvilken som helst tekstredigerer og kan importeres til alle databaser og regneark.
  • Ekstremt rask linje-for-linje-strømming uten å bygge en fullstendig DOM i minnet.
  • Minimal overbygning: ingen omstendelig taggsyntaks eller skjemadefinisjoner.

Tekniske begrensninger og ulemper

  • Ingen standard datatyper: tall, datoer, boolske verdier og tekst lagres som råstrenger.
  • Ingen støtte for flere ark, celleformatering, formler eller metadata.
  • Skilletegnkonflikter (kommaer inne i tekst, desimalkommaer i europeiske lokaltilpasninger) forårsaker hyppige parseringsfeil.

Interessante tekniske fakta

  • I mange europeiske land der komma brukes som desimaltegn, brukes semikolon (;) i stedet for komma som CSV-skilletegn.
  • Microsoft Excel krevde historisk sett en UTF-8 BOM (0xEF 0xBB 0xBF) for å vise ikke-ASCII-aksenttegn riktig.
  • Det britiske helsevesenet (NHS) mistet i 2020 nesten 16 000 COVID-19-sporingsoppføringer fordi dataene ble importert til et utdatert Excel-regnearkformat som hadde en radgrense på 65 536.

Ofte stilte tekniske spørsmål

Hva er RFC 4180?

RFC 4180 er den offisielle IETF-standarden for CSV. Den krever at felt som inneholder kommaer, linjeskift eller doble anførselstegn, omsluttes av doble anførselstegn, og at interne anførselstegn escapes ved å gjentas ("").

Hvorfor vises tegn feil når jeg åpner CSV-filer i Excel?

Eldre versjoner av Microsoft Excel bruker som standard det lokale Windows-tegnsettet (som Windows-1252) i stedet for UTF-8 når de åpner CSV-filer direkte. Ved å legge til en UTF-8 BOM (Byte Order Mark) i starten av filen, tvinges Excel til å dekode UTF-8 riktig.

Hva er CSV-injeksjon (formelinjeksjon)?

CSV-injeksjon oppstår når upålitelige brukerdata som begynner med formeltegnene ('=', '+', '-', '@'), eksporteres til en regnearkfil. Når filen åpnes i et program som Excel, utfører regnearket automatisk formelen eller DDE-kommandoen (Dynamic Data Exchange), noe som kan føre til at systemkommandoer kjøres eller at data eksfiltreres.