Obsah

CSV

CSV (z anglického Comma-Separated Values, česky hodnoty oddělené čárkami) je jednoduchý textový formát pro ukládání tabulkových dat, jako jsou čísla, text nebo datumy. Každý řádek souboru představuje jeden záznam, zatímco jednotlivé hodnoty ve sloupcích jsou odděleny oddělovačem (nejčastěji čárkou).

CSV je široce podporován tabulkovými procesory (např. Microsoft Excel, LibreOffice Calc), databázemi, programovacími jazyky (Python, JavaScript, PHP) a analytickými nástroji.

Struktura souboru CSV

Základní princip:

Příklad souboru zamestnanci.csv:

jmeno,prijmeni,vek,oddeleni
Jan,Novák,32,IT
Eva,Svobodová,28,Marketing
Petr,Dvořák,45,Finance

Oddělovače

Přestože název „CSV“ znamená „oddělené čárkami“, v praxi se mohou používat i jiné znaky, zejména kvůli lokalizaci (např. v češtině se desetinná čísla zapisují s čárkou, nikoli tečkou):

Příklad s oddělovačem středníkem:

jmeno;prijmeni;vek;oddeleni
Jan;Novák;32;IT
Eva;Svobodová;28;Marketing

Pravidla pro uvozovky a speciální znaky

Pokud hodnota obsahuje:

musí být uzavřena do uvozovek (obvykle dvojitých `„`).

Pravidla podle RFC 4180 (standard pro CSV):

Příklad:

nazev,poznamka
"Projekt Alpha","Obsahuje čárku, teď je v pořádku"
"Kniha ""1984""","Klasika od George Orwella"

Výhody a nevýhody

Výhody Nevýhody
Jednoduchost – čitelné i pro lidi, snadno generovatelné. Žádná standardizace typů dat – vše je text; čísla, datumy nebo logické hodnoty nejsou rozlišeny.
Široká podpora – většina software jej umí importovat/exportovat. Nejednoznačnost – různé programy používají různé oddělovače, kódování, formáty datumů.
Lehké soubory – malá velikost, vhodné pro výměnu dat. Žádná podpora vztahů nebo struktury – jen plochá tabulka, nelze reprezentovat hierarchii (na rozdíl od JSON nebo XML).
Nezávislost na platformě – funguje na Windows, Linux, macOS. Bezpečnostní rizika – některé programy (např. Excel) automaticky interpretují obsah jako vzorce (tzv. formula injection).

Kódování znaků

Nejčastější kódování:

❗ Důležité: Pokud soubor obsahuje háčky a čárky (např. „Česká republika“), musí být uložen v kódování, které je podporuje (nejlépe UTF-8 s BOM pro kompatibilitu s Excelem na Windows).

Použití v praxi

Příklad v Pythonu:

import csv
 
with open('zamestnanci.csv', encoding='utf-8') as soubor:
    reader = csv.DictReader(soubor)
    for radek in reader:
        print(radek['jmeno'], radek['prijmeni'])

Bezpečnostní doporučení

Standardy a normy

Související pojmy

Externí odkazy

Viz také