Ero sivun ”CSV” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
p (")
Rivi 46: Rivi 46:
​CSV-formaatti käyttää lainausmerkkejä (") merkkijonojen ja erikoismerkkien käsittelyyn.
​CSV-formaatti käyttää lainausmerkkejä (") merkkijonojen ja erikoismerkkien käsittelyyn.


* Arvon ympäröiminen: Jos kentän arvo sisältää:
===== Lainausmerkeillä ympäröinti =====
* erotinmerkin (esim. ; tai ,),
* Jos kentän arvo sisältää erotinmerkin, rivinvaihdon tai lainausmerkin, koko arvo on ympäröitävä lainausmerkeillä (").
* 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ä ("").


===== Lainausmerkin Escapointi =====
* Jos lainausmerkeillä ympäröity arvo sisältää itsessään lainausmerkin, se on escapoitava eli esitettävä kahdella peräkkäisellä lainausmerkillä ("").


{| class="wikitable sortable"
{| class="wikitable sortable"
Rivi 61: Rivi 60:
|-
|-
| "Hieno" auto || """Hieno"" auto" || Lainausmerkit arvon sisällä escapoidaan ("").
| "Hieno" auto || """Hieno"" auto" || Lainausmerkit arvon sisällä escapoidaan ("").
|}
* Jos kentän arvo sisältää lainausmerkin ja se on lainattu, se on escapoitava esittämällä se kahdella lainausmerkillä peräkkäin (""). Esimerkiksi arvo "Auto "Audi" A6" kirjoitetaan tiedostoon muotoon: """Auto ""Audi"" A6".
* Tämä on vakiomuotoinen sääntö (RFC 4180), jonka puuttuminen voi aiheuttaa ongelmia monimutkaisempia CSV-tiedostoja luettaessa.
Esimerkki .csv-tiedoston sisällyksestä.
<syntaxhighlight lang="CSV">
Vuosi,Merkki,Malli,Pituus
1994,Audi,A6,"4,916"
2001,Honda,Civic,"4,545"
2006,Volkswagen,Golf IV,"4,397"
</syntaxhighlight>
Jonka tulostus olisi tämän tyylinen.
{|class="toccolours" style="margin:auto" width=100%
|-
|Vuosi||Merkki||Malli||Pituus
|-
|1994||Audi||A6||4,916
|-
|2001||Honda||Civic||4,545
|-
|2006||Volkswagen||Golf IV||4,397
|}
|}



Versio 10. marraskuuta 2025 kello 16.42

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)

Vaikka CSV-lyhenne viittaa pilkkuun, käytetty erotin voi vaihdella alueittain. Formaattiin viitataankin usein yleisemmin nimellä DSV (Delimiter-Separated Values).

Erotinmerkit

​CSV-standardin (RFC 4180) oletus on pilkku (,), mutta seuraavat erottimet ovat yleisiä: ​

  • Pilkkua (,) käytetään ensisijaisesti angloamerikkalaisissa järjestelmissä (RFC 4180:n oletus).
  • Puolipistettä (;) käytetään laajalti Suomessa ja monissa Euroopan maissa. Tämä on välttämätöntä, kun desimaalierottimena käytetään pilkkua (esim. 4,916) sekaannuksen estämiseksi.

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).

 
Vuosi;Merkki;Malli;Pituus
1994;Audi;A6;"4,916"
2001;Honda;Civic;"4,545"

​ (Huomaa, että 4,916 on ympäröity lainausmerkeillä, koska se sisältää erottimen kaltaisen pilkun.)

Lainausmerkit ja erikoismerkit

​CSV-formaatti käyttää lainausmerkkejä (") merkkijonojen ja erikoismerkkien käsittelyyn.

Lainausmerkeillä ympäröinti
  • Jos kentän arvo sisältää erotinmerkin, rivinvaihdon tai lainausmerkin, koko arvo on ympäröitävä lainausmerkeillä (").
Lainausmerkin Escapointi
  • Jos lainausmerkeillä ympäröity arvo sisältää itsessään lainausmerkin, se on escapoitava 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 ("").

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

Katso myös

v  k  m
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