CSV-kontaktliste (.csv)
RFC StandardComma-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:
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 signaturASCII-REPRESENTASJON: Tekstdata; kodingen varierer (ofte UTF-8)
Standardisering: RFC 4180 / IETF
Tekniske spesifikasjoner
| Beholderarkitektur | Avgrenset flat tekstfil som representerer tabulære datarader og kolonner |
| Komprimering | Gzip og Deflate kan komprimere repetitiv tekst; den resulterende størrelsen avhenger av dataene og innstillingene. |
| Bytterekkefølge | UTF-8 tekststrøm (valgfri UTF-8 BOM EF BB BF brukes av Excel) |
| Fargerom | Ikke relevant |
| Kanaler og struktur | Radposter avgrenset av CRLF med kolonner avgrenset av kommaer |
| Maks. dimensjoner | Ubegrenset; kan strømmes til gigabyte uten å laste hele filen i minnet |
| Gjennomsiktighet | Ikke relevant |
| Strømming og progressiv visning | Innebygd linje-for-linje strømmebehandling støttes av alle datapipeliner |
Teknisk sammenligningsmatrise: CSV sammenlignet med konkurrenter
| Teknisk attributt | CSV (Gjeldende) | Excel (XLSX) | Parquet | JSON |
|---|---|---|---|---|
| Filtype | Flat tabell i ren tekst | Zippet XML-regneark | Binær kolonnelagring | Hierarkisk tekst |
| Flere ark | Nei (kun én enkel flat tabell) | Ja (flere arbeidsbøker og ark) | Partisjonsbasert lagring | Nøstede matriser og objekter |
| Datatyper | Utypede rådata | Typede celler, formler, formatering | Strenge binære kolonnetyper | Primitive typer (streng, tall, boolsk verdi) |
| Big Data-analyse | Treg (krever lesing av hver rad lineært) | Ikke egnet for store data | Ultrarask (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
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.
Relaterte konverteringspar for CSV
Konvertering av et Excel-regneark til en CSV-tabell trekker ut rå tabellformede data til et universelt tekstformat for maksimal programvarekompatibilitet.
Konvertering av enkle tekstbaserte CSV-filer til funksjonsrike XLSX-regneark muliggjør avansert formatering av data, formler og flere ark.
Konvertering av flate tekstfiler til strukturerte relasjonelle databaser lar deg kjøre raske spørringer og administrere komplekse datarelasjoner.
Transformer sikkerhetskopieringsskript for relasjonsdatabaser til flate tabellark for enkel dataanalyse og rapportering.
Konvertering av hierarkiske HDF5-datasett til flate telemetri-CSV-filer forvandler komplekse, flerdimensjonale vitenskapelige datasett til enkle rader og kolonner for analyse i regneark.
Konvertering av flerdimensjonale NetCDF-vitenskapsrutenett til flate telemetri-CSV-filer gjør komplekse klima- og havdata lesbare i enkle regnearkprogrammer.
Konvertering av vCard-filer til CSV-format forvandler hierarkiske kontaktkort til flate regnearkrader for enkle databaseimporter.