Lekce 4 - Datové formáty CSV a JSON Nové
V předchozí lekci, Strukturovaná a nestrukturovaná data, jsme se seznámili s rozdíly mezi strukturovanými a nestrukturovanými daty a možnostmi jejich kombinace.
V tomto tutoriálu se ponoříme do základů datových formátů, které jsou klíčové k ukládání, výměně a analýze dat. Zaměříme se na CSV a JSON. Prozkoumáme jejich strukturu, výhody i nevýhody a ukážeme si, jak s nimi pracovat v praxi.
Datové formáty
Pro kompatibilitu mezi různými systémy a k zajištění snadného zpracování a následné analýzy vznikly standardizované datové formáty. Ty definují strukturu a způsob zápisu dat. Mezi nejpoužívanější patří již zmiňované CSV a JSON, dále pak XML a SQL. Správná volba formátu může výrazně ovlivnit efektivitu datové analýzy a interpretace výsledků.
Příprava nástrojů – Visual Studio Code
Ještě než se pustíme do práce s reálnými datasety, stáhneme si editor Visual Studio Code (VS Code), který nám umožní přehledně zobrazit strukturu dat v souborech. Editor stáhneme ze stránek Microsoftu a nainstalujeme:

Spustíme instalační soubor a potvrdíme oprávnění ve Windows:

V průvodci instalace klikneme na Next (Další):

Zaškrtneme doplňkové volby:

A dokončíme instalaci:

CSV formát
CSV (Comma-Separated Values – hodnoty oddělené čárkou) je oblíbený formát díky své jednoduchosti a kompatibilitě s mnoha nástroji. Například jej lze jednoduše otevřít v aplikaci Excel. Většina databázových systémů umožňuje jak import dat z CSV, tak export dat z databáze do CSV (například při práci s daty z e-shopu).
Struktura CSV
CSV se používá k ukládání tabulkových dat. CSV soubor evidující např. dvě osoby by vypadal takto:
Jméno;Příjmení;Ulice;Město;PSČ Jan;Novák;Příkrá 3,Vlašim;25801 Jana;Příhodová;U Hrušní 15;Benešov;25601
Hodnoty jsou odděleny čárkami (případně středníky). Data jsou uspořádána do řádků, každá položka na jednom. CSV obvykle obsahuje první, a sice hlavičkový řádek, kde je popsáno, co který sloupec znamená.
CSV je nejkratší ze zmíněných formátů, ale také nejhůře čitelný. Není univerzální – nepodporuje složité datové struktury (jako jsou hierarchie) ani binární data (např. obrázky).
Problémy mohou nastat s čárkami uvnitř hodnot. Pokud hodnota sama obsahuje čárku, program, který soubor CSV čte, ji může mylně interpretovat jako oddělovač mezi hodnotami. To může vést k chybnému zpracování dat. Proto se často používá středník.
Využití CSV souborů v praxi
Pro praktickou ukázku práce s CSV soubory jsme si vybrali dataset elektromobilů z portálu Kaggle. Soubory stáhneme a rozbalíme. Pokud máme nainstalovaný Excel, můžeme soubor otevřít přímo v něm. Klikneme pravým tlačítkem na jeden ze souborů a vybereme možnost Otevřít soubor v Excelu:

Zobrazí se nám excelová tabulka s daty:

Vidíme, že náš dataset je poměrně nepřehledný. Pojďme si ho otevřít ve VS Code. V horní části okna editoru najedeme myší na položku File. Vybereme možnost Open File… a klikneme na ni:

Vybereme požadovaný soubor, který chceme otevřít (který jsme si předtím rozbalili):

VS Code nám obvykle samo nabídne možnost instalace rozšíření Rainbow CSV, které jednotlivé položky obarví pro lepší čitelnost:

Pokud se tak nestane, rozšíření si můžeme přidat sami kliknutím na ikonu Extensions, kde vyhledáme rozšíření Rainbow CSV. Přidáme si ho kliknutím na Install:

S rozšířením Rainbow CSV docílíme lepší přehlednosti:

Vidíme značky a typy dostupných elektromobilů a jejich další parametry, jejichž význam udává první, hlavičkový řádek.
JSON
JSON (JavaScript Object Notation – zápis objektů jazyka JavaScript) je moderní formát pro zápis strukturovaných dat. Umožňuje ukládat záznamy jako srozumitelný text ve formě klíč:hodnota a podporuje hierarchii. Je ideální k přenosu dat mezi systémy a často se používá u webových služeb, API a různých datových platforem.
Struktura JSON
Data jsou ve formátu JSON organizována do objektů a polí. Na rozdíl od tabulkového CSV se tedy hodí pro složitější struktury, např. tam, kde objekt v sobě obsahuje další objekty. Ukázkový JSON se dvěma osobami by vypadal takto:
[ { "jmeno": "Jan", "prijmeni": "Novák", "ulice": "Příkrá", "mesto": "Vlašim", "psc": 25801 }, { "jmeno": "Jana", "prijmeni": "Příhodová", "ulice": "U Hrušní 15", "mesto": "Benešov", "psc": 25601 } ]
Pole (seznam položek) je uspořádané seskupení hodnot
uzavřené v hranatých závorkách []
. Jednotlivé položky (zde
objekty) jsou oddělené čárkami. Objekt se skládá ze dvojic
klíč:hodnota, což jej činí dobře čitelným, a je uzavřený ve
složených závorkách {}
. Texty se píšou do uvozovek, aby se
nepletly s dalším obsahem. Každá úroveň zanoření se zpravidla odsazuje
zleva mezerami nebo tabulátory, aby byl soubor lépe čitelný.
Všimněte si, že za poslední položkou není čárka. Ta by mohla způsobit chybu formátu.
Díky této struktuře je formát JSON lehký, snadno čitelný a strojově zpracovatelný, což ho činí ideálním pro API a webové aplikace.
JSON nepodporuje ukládání binárních dat bez převodu (například do Base64) a chybí mu podpora komentářů. Pro rozsáhlé datové struktury může být méně efektivní než některé jiné formáty.
Ukázkový dataset v JSON
Podobu JSON formátu si ukážeme na příkladu datasetu ze stránek Kaggle. Jedná se o slavný dataset s měřením parametrů různých květin, který se používá v kurzech datové analýzy. Vzhledem k rozsahu tohoto datasetu si ukážeme jen jeho část.
Ve VS Code soubor otevřeme podobně, jako jsme otevírali soubor ve formátu
CSV. Formátování JSON
nastavíme ve VS Code klávesovou
zkratkou, čímž se data opět hezky zabarví:
- Shift + Alt + F (Windows, Linux),
- Shift + Option + F (Mac).

Vidíme pole (seznam) a v něm spoustu objektů. Každý objekt představuje měření jedné květiny. Vysvětlíme si jednotlivé položky:
sepal_length
– délka kališního lístku (v centimetrech),sepal_width
– šířka kališního lístku,petal_length
– délka korunního lístku,petal_width
– šířka korunního lístku,species
– druh květiny (např. setosa, versicolor, virginica).
Práce s JSON soubory vyžaduje nástroje, které umí hierarchická data zpracovat. Patří mezi ně například Power BI, k jehož použití se dostaneme v pozdějších lekcích.
V příští lekci, Datové formáty XML a SQL, se budeme zabývat nejrozšířenějšími formáty pro datovou analýzu – XML a SQL.