Ero sivun ”CSV” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
 
Rivi 21: Rivi 21:


==== Datan tyyppi ====
==== Datan tyyppi ====
CSV on pelkkä tekstitiedostomuoto. Se ei sisällä tietoa siitä, onko kentän arvo luku, päivämäärä vai teksti.
CSV on pelkkä tekstitiedostomuoto. Se ei sisällä minkäänlaista metatietoa tai tietoa siitä, onko kentän arvo luku (kokonaisluku tai  desimaaliluku), päivämäärä vai teksti.


* Taulukkolaskenta- tai tietokantaohjelmien täytyy arvata datan tyyppi lukuprosessin aikana. Tämä voi aiheuttaa ongelmia jos esimerkiksi päivämäärät (12/01) tulkitaan amerikkalaisittain (1. joulukuuta) eurooppalaisen muodon sijaan (12. tammikuuta) ellei käyttäjä määritä tyyppiä itse tuonnin yhteydessä.
* Taulukkolaskenta- tai tietokantaohjelmien täytyy arvata datan tyyppi lukuprosessin aikana. Tämä voi aiheuttaa ongelmia jos esimerkiksi päivämäärät (12/01) tulkitaan amerikkalaisittain (1. joulukuuta) eurooppalaisen muodon sijaan (12. tammikuuta) ellei käyttäjä määritä tyyppiä itse tuonnin yhteydessä.
* Nollat: Esimerkiksi tuotenumero, joka alkaa nollalla (00123), voi menettää etunollansa, jos ohjelma tulkitsee sen suoraan kokonaisluvuksi.
Tämän vuoksi CSV-tiedostoja tuotaessa on kriittistä, että käyttäjä useimmissa ohjelmissa (kuten [[LibreOffice Calc]]) määrittelee itse, mikä datan tyyppi kuhunkin sarakkeeseen tuodaan, estääkseen virheelliset automaattiset muunnokset.


==== Erotinmerkit ====
==== Erotinmerkit ====

Nykyinen versio 10. marraskuuta 2025 kello 17.06

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)

[muokkaa]

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

Datan tyyppi

[muokkaa]

CSV on pelkkä tekstitiedostomuoto. Se ei sisällä minkäänlaista metatietoa tai tietoa siitä, onko kentän arvo luku (kokonaisluku tai desimaaliluku), päivämäärä vai teksti.

  • Taulukkolaskenta- tai tietokantaohjelmien täytyy arvata datan tyyppi lukuprosessin aikana. Tämä voi aiheuttaa ongelmia jos esimerkiksi päivämäärät (12/01) tulkitaan amerikkalaisittain (1. joulukuuta) eurooppalaisen muodon sijaan (12. tammikuuta) ellei käyttäjä määritä tyyppiä itse tuonnin yhteydessä.
  • Nollat: Esimerkiksi tuotenumero, joka alkaa nollalla (00123), voi menettää etunollansa, jos ohjelma tulkitsee sen suoraan kokonaisluvuksi.

Tämän vuoksi CSV-tiedostoja tuotaessa on kriittistä, että käyttäjä useimmissa ohjelmissa (kuten LibreOffice Calc) määrittelee itse, mikä datan tyyppi kuhunkin sarakkeeseen tuodaan, estääkseen virheelliset automaattiset muunnokset.

Erotinmerkit

[muokkaa]

​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

[muokkaa]

​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

[muokkaa]

​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

[muokkaa]

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

Lainausmerkeillä ympäröinti
[muokkaa]
  • Jos kentän arvo sisältää erotinmerkin, rivinvaihdon tai lainausmerkin, koko arvo on ympäröitävä lainausmerkeillä (").
Lainausmerkin Escapointi
[muokkaa]
  • 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""" Arvon sisällä oleva lainausmerkki (") muutetaan kahdeksi lainausmerkiksi (""). Koko arvo ympäröidään lainausmerkeillä.
Raportti; "Kevät" "Raportti; ""Kevät""" Sisältää erottimen (;) ja lainausmerkin. Molempien sääntöjen on täytyttävä.

CSV-työkalut Linuxissa

[muokkaa]

Linuxissa taulukkomuotoisen datan käsittelyyn soveltuvat perinteiset komentorivityökalut sekä erikoistuneet paketit.

Graafinen käyttöliittymä

[muokkaa]
  • 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

[muokkaa]

Perinteiset työkalut ovat joustavia, kun taas modernit paketit ymmärtävät taulukkorakenteen paremmin.

Työkalu Kuvaus Erotin (:)-esimerkki
GNU awk Yleinen tekstitiedoston prosessointikieli. Erinomainen rivien suodattamiseen ja muokkaamiseen. awk -F ';' '{ print $1 }'
cut Leikkaa sarakkeita tiedostosta. cut -d ';' -f 2,4
csvkit (Paketti) Kokoelma Pythonilla kirjoitettuja työkaluja (esim. csvcut, csvstat). Tarjoaa SQL-tyyppisiä toimintoja. csvcut -d ';' -c Malli tiedosto.csv
mlr (Miller) Tehokas työkalu, joka käsittelee CSV/TSV/JSON-muotoja ja ymmärtää sarakkeiden nimet. Korvaa monessa suhteessa awk, cut, ja sort-komennot. mlr --ifs ';' cut -f Vuosi,Malli tiedosto.csv

Ohjelmat jotka avaavat ja luovat .csv-tiedostoja

[muokkaa]

Katso myös

[muokkaa]
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