Blog o spletnem programiranju in elektroniki
💬 👤
back Nazaj na blog
Razno

Kaj je CSV in zakaj ga vsi uporabljamo

ikona

CSV (Comma-Separated Values) je najpreprostejša oblika za shranjevanje tabelaričnih podatkov v čistem besedilu. Vsaka vrstica predstavlja eno vrstico tabele, vrednosti pa so med seboj ločene z vejico. Ker je preprost in ga podpirajo vsi programi — od preglednic do baz podatkov — je postal univerzalni jezik za izmenjavo podatkov med programi.

ime,priimek,starost
Ana,Novak,34
Marko,Kovač,41
Petra,Zupan,29

Kako je CSV zgrajen

Prva vrstica je običajno glava tabele, ki poimenuje stolpce. Vsaka naslednja vrstica je en zapis. Ločilo je privzeto vejica, vendar se v Evropi pogosto uporablja tudi podpičje (;), ker imamo pri številkah decimalno vejico.

Narekovaji v vrednostih

Kaj pa, če vrednost vsebuje ločilo samo po sebi — na primer priimek Kovač, ml.? Takrat vrednost obdamo z dvojnimi narekovaji, da program ve, kje se vrednost začne in kje konča. Če se v vrednosti pojavi narekovaj, ga zapišemo podvojeno.

ime,priimek,opomba
Ana,"Kovač, ml.","plačilo je ""v celoti"""

CSV v preglednicah

Ko CSV datoteko odpremo v Excelu ali LibreOffice Calc, se besedilo pretvori v preglednico s stolpci. Največ težav povzroča ločilo: če program ne prepozna podpičja ali vejice sam, vse vrednosti končajo v enem samem stolpcu. V LibreOffice se ločilo izbere pri uvozu, v Excelu pa pogosto pomaga čarovnik za uvoz.

CSV in baze podatkov

CSV je tudi standardni format za izvoz in uvoz podatkov v baze. Tudi tukaj velja pravilo glave: imena stolpcev morajo ustrezati imenom v tabeli. Za uvoz v MySQL uporabimo ukaz LOAD DATA ali orodje phpMyAdmin.

LOAD DATA INFILE '/tmp/uporabniki.csv'
INTO TABLE uporabniki
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
IGNORE 1 ROWS;

Kdaj CSV ni prava izbira

CSV je odličen za preproste tabele, a ima meje: ne podpira več listov, oblikovanja celic, formul in podatkovnih tipov. Številke in datume si vsak program lahko razlaga po svoje. Za kompleksne potrebe so tu naprednejši formati, kot sta XLSX ali JSON.

CSV je postal standard zaradi enostavnosti: berljiv je za človeka, obvladljiv za vsak program in brez odvečne vsebine. Ravno prav za izmenjavo podatkov med programi, ne glede na sistem ali jezik.

back Nazaj na blog