Hva er CSV-filformatet?
.csv er et filformat som lagrer ulike typer data i tegnseparerte tekstsett, vanligvis med et komma - derav navnet Comma-Separated Values. Formatet er dokumentert i RFC 4180 (2005), en minimal, men vidt utbredt standard. Dataposter er separert med et linjeskifttegn, mens individuelle feltverdier vanligvis er omsluttet av doble anførselstegn. For å inkludere et bokstavelig dobbelt anførselstegn i et felt, skrives det to ganger som "".
Den første linjen i en .csv-fil inneholder konvensjonelt kolonnenavn (en overskriftsrad), selv om CSV-spesifikasjonen ikke pålegger denne strukturen. Felt i postene kan separeres av:
- Komma,
- Semikolon,
- Tabulatorer (se .TSV),
- Andre tegn - brukt konsekvent gjennom hele dokumentet.
.csv-filer brukes til lagring, import og eksport av data i et veldefinert, plattformuavhengig format som alle tekstredigeringsprogrammer kan åpne. Fordi valget av separator er fritt, kan det noen ganger oppstå problemer under konvertering; derfor må verktøy for dataimport tilby et valg for å konfigurere separatoren som skal brukes, slik tilfellet er med regnearkapplikasjoner som Microsoft Excel og LibreOffice Calc.
.csv har ingen filsignatur (magic bytes) og identifiseres av sin struktur snarere enn innholdet. En fil kan valgfritt starte med et UTF-8 byte-order mark (EF BB BF), som Excel skriver automatisk for å signalisere kodingen. De fleste programmeringsspråk tilbyr dedikerte biblioteker for pålitelig import og håndtering av .csv-filer, noe som gjør det til et av de mest universelle formatene for datautveksling i bruk i dag.
Sikkerhet og trygghet
RISIKO: MEDIUMCSV er ren tekst og kan ikke i seg selv kjøre kode, men det innebærer en reell risiko: CSV-injeksjon (formelinjeksjon). Hvis en celle starter med =, +, - eller @, kan et regneark utføre det som en formel ved åpning - angripere utnytter dette i eksporterte CSV-filer for å kjøre kommandoer eller lekke data. Moderne Excel/LibreOffice advarer før slike formler kjøres; ikke aktiver dem i filer fra utrolige kilder. Den daglige «risikoen» er datakorrupsjon, ikke skadevare: feil koding eller skilletegn som lydløst ødelegger tall, datoer og ledende nuller (f.eks. postnummer og telefonnumre som mister sin innledende 0).
Formatdetaljer
i et nøtteskallProgrammer som åpner CSV-filer
Tekniske detaljer
dyp spesifikasjon| MIME-type | text/csv |
| Filstruktur | Ren tekst; rader avgrenset av linjeskift, felt avgrenset av et valgt separatortegn |
| Standard skilletegn | Komma (`,`); semikolon og tabulatorer er også mye brukte varianter |
| Linjeskift (RFC 4180) | CRLF (`\r\n` i henhold til spesifikasjon); kun LF (`\n`) er vidt akseptert i praksis |
| Tegn for felt-anførsel | Dobbelt anførselstegn (`"`); doblet (`""`) for å unnta et bokstavelig anførselstegn i et felt |
| Overskriftsrad | Valgfri første rad som konvensjonelt viser kolonnenavn; RFC 4180 lar overskriftsstrukturen være udefinert |
| Filsignatur (magic bytes) | Ingen; identifiseres ved struktur. En valgfri UTF-8 BOM (`EF BB BF`) kan forekomme i starten av filen |
| Støtte for felt over flere linjer | Støttes når feltinnholdet er omsluttet av doble anførselstegn |
| Datamodell | Kun én flat tabell; ingen nøsting, relasjoner eller kolonnedatatyper kodet i formatet |
| Tegnkoding | Enhver koding avtalt mellom avsender og mottaker; UTF-8 og Windows-1252 er vanligst |
| Innebygd komprimering | Ingen; filer arkiveres ofte som `.gz` eller [ZIP](/format/zip) |
| Egnethet for strømming | Høy - rader kan behandles linje for linje uten å laste hele filen i minnet |
| Støtte for binærdata | Ikke støttet naturlig; binært innhold må Base64-kodes som tekst |
| Radbegrensninger i applikasjoner | Ingen begrensning på formatnivå; Microsoft Excel begrenser import til 1 048 576 rader |
| Utgitt | 1970s (early use); RFC 4180 published 2005 |
| Åpen standard | Ja · royalty-fri |
| Spesifikasjon | www.rfc-editor.org |
CSV-konverteringer
Spørsmål og svar fra fellesskapet
spurt av brukereIngen spørsmål ennå - vær den første til å spørre om CSV-filer.