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é pro ukládání, výměnu a analýzu 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 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, JSON a dále 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. Stáhneme ho 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. CSV soubory lze naimportovat do většiny databázových systémů nebo do nich data naopak z databáze vyexportovat, např. z e-shopu.
Struktura CSV
CSV se používá pro 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í, hlavičkový řádek, kde popisuje, 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 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):

VSC 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, sami si ho můžeme přidat kliknutím na ikonu Extensions, kde vyhledáme rozšíření Rainbow CSV a 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í pro přenos 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ř. 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á z dvojic
klíč:hodnota, což jej dělá dobře čitelným, a je uzavřený ve
složených závorkách {}
. Texty se píší 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, mohla by 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 jeho rozsahu si ukážeme jen část tohoto datasetu.
Ve VSC soubor otevřeme podobně jako jsme otevírali soubor ve formátu CSV.
Formátování JSON
nastavíme ve VSC klávesovou zkratkou, čímž
se 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ý 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ístkupetal_length
– délka korunního lístkupetal_width
– šířka korunního lístkuspecies
– druh květiny (např. setosa, versicolor, virginica)
Práce s JSON 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.