CSV
| CSV (.csv) | |
|---|---|
| Tiedostopääte | .csv |
| Mediatyyppi | text/csv |
| Lisenssi | RFC 4180, Avoin standardi |
CSV (Comma-Separated Values) on yksinkertainen, vakiomuotoinen tekstitiedostoformaatti, jolla tallennetaan taulukkomuotoista tietoa. CSV-tiedosto koostuu riveistä ja kukin rivi edustaa yhtä tietoriviä. Rivin sisällä olevat kentät (sarakkeet) erotetaan toisistaan erotinmerkillä. Valmiita CSV-tiedostoja voidaan tuoda lähes kaikkiin taulukkolaskenta-, tietokanta- ja ohjelmointiohjelmistoihin.
Tiedoston rakenne ja erotinmerkit (DSV)
CSV on itse asiassa yleisemmin DSV (Delimiter-Separated Values), sillä käytetty erotin voi vaihdella alueittain ja ohjelmistoittain.
Erotinmerkit
CSV-standardin (RFC 4180) oletus on pilkku (,), mutta seuraavat erottimet ovat yleisiä:
- Pilkkua (,) käytetään ensisijaisesti angloamerikkalaisissa järjestelmissä.
- Puolipistettä (;) käytetään laajalti Suomessa ja monissa muissa Euroopan maissa. Tämä on välttämätöntä, jos arvoissa itsessään käytetään pilkkua (,) desimaalierottimena (esim. 12,34).
- Tabulaattoria käytettäessä tiedostomuotoa kutsutaan usein TSV-muodoksi (Tab-Separated Values).
- CSV on usein yleisemmin DSV (Delimiter-Separated Values), jossa erotin voi olla mikä tahansa merkki. Tämä on elintärkeää tiedostojen vaihdossa suomalaisten taulukkolaskentaohjelmien kuten LibreOffice Calcin kanssa.
Rivinvaihdo
Rivinvaihdon merkintä vaikuttaa tiedoston yhteensopivuuteen eri käyttöjärjestelmissä:
- CRLF (Carriage Return + Line Feed): Yleisin Windows-järjestelmissä ja RFC 4180 -standardin suosittelema.
- LF (Line Feed): Yleisin Unix- ja Linux-järjestelmissä.
Otsikkorivi
Tiedoston ensimmäinen rivi sisältää useimmiten kenttien nimet eli otsikkorivin (Header Row).
Lainausmerkit ja erikoismerkit
CSV-formaatti käyttää lainausmerkkejä merkkijonojen ja erikoismerkkien käsittelyyn. * Arvon ympäröiminen: Jos kentän arvo sisältää:
- erotinmerkin (esim. ; tai ,),
- rivinvaihdon, tai
- lainausmerkin ("), on koko arvo ympäröitävä lainausmerkeillä (").
* Lainausmerkin escapointi: Jos lainausmerkeillä ympäröity arvo sisältää itsessään lainausmerkin, on se escapoitava (escaping) eli esitettävä kahdella peräkkäisellä lainausmerkillä ("").
| Arvo (sellaisenaan) | CSV-muotoon kirjoitettuna | Selitys |
|---|---|---|
| Audi; A6 | "Audi; A6" | Erotin (;) on arvon sisällä. |
| "Hieno" auto | """Hieno"" auto" | Lainausmerkit arvon sisällä escapoidaan (""). |
Esimerkki .csv-tiedoston sisällyksestä.
Vuosi,Merkki,Malli,Pituus
1994,Audi,A6,"4,916"
2001,Honda,Civic,"4,545"
2006,Volkswagen,Golf IV,"4,397"Jonka tulostus olisi tämän tyylinen.
| Vuosi | Merkki | Malli | Pituus |
| 1994 | Audi | A6 | 4,916 |
| 2001 | Honda | Civic | 4,545 |
| 2006 | Volkswagen | Golf IV | 4,397 |
CSV-työkalut Linuxissa
Linuxissa taulukkomuotoisen datan käsittelyyn soveltuvat perinteiset komentorivityökalut sekä erikoistuneet paketit.
Graafinen käyttöliittymä
- LibreOffice Calc: Tarjoaa erinomaisen tuen kaikille erotinmerkeille. Se kysyy erottimen aina tiedostoa avattaessa ja mahdollistaa puolipisteen valinnan myös tiedostoa vietäessä (Tallenna nimellä... -> Text CSV).
Komentorivityökalut
Perinteiset työkalut ovat joustavia, kun taas modernit paketit ymmärtävät taulukkorakenteen paremmin.
| Työkalu | Kuvaus | Puolipisteen käyttö |
|---|---|---|
| awk | Yleinen tekstitiedoston prosessointikieli. Erinomainen rivien suodattamiseen ja muokkaamiseen. | -F ';' asettaa puolipisteen erotinmerkiksi. |
| cut | Leikkaa sarakkeita tiedostosta. | -d ';' asettaa puolipisteen erotinmerkiksi. |
| csvkit | (Paketti) Kokoelma Pythonilla kirjoitettuja työkaluja (esim. csvcut, csvstat). Tarjoaa SQL-tyyppisiä toimintoja. | -d ';' asettaa erotinmerkin, tukee sarakkeiden käsittelyä nimellä. |
| mlr (Miller) | Monipuolinen työkalu, joka ymmärtää sarakkeiden nimet (kuten SQL). Korvaa monessa suhteessa awk, cut, ja sort-komennot. | --ifs ';' (Input Field Separator) määrittää puolipisteen. |
Ohjelmat jotka avaavat ja luovat .csv-tiedostoja
- LibreOffice Calc
- Tekstieditorit
- awk, soveltuu hyvin myös CSV- ja TSV-tiedostojen prosessointiin.
Katso myös
| Asiakirjamuodot | |
| Tekstiasiakirjamuodot | .ODT | .FODT | .PDF | .DOC | .DOCX | .TXT |
| Tekstiasiakirjamallit | .OTT |
| Taulukkolaskentamuodot | .ODS | .OTS | .FODS | .XLS | .XLSX | .CSV | .TSV |
| Taulukkolaskentamallit | .OTS |
| Esitysgrafiikka | .ODP | .FODP | .PPTX | .SXI |
| Tietokanta | .ODB |
| Vektorigrafiikka | .ODG | .FODG |
| Kaavamuokkain | .ODF |
| HTML-muokkain | .HTML |