Lekce 4 - Datový formát CSV
V předchozí lekci, Strukturovaná a nestrukturovaná data, jsme se seznámili s rozdíly mezi strukturovanými a nestrukturovanými daty a s 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. Prozkoumáme jeho strukturu, výhody i nevýhody a ukážeme si, jak s ním 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, dále pak JSON, XML a SQL. Správná volba formátu může výrazně ovlivnit efektivitu datové analýzy a interpretace výsledků.
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.
Příprava nástrojů - Excel a Google Sheets

V kurzu si můžete vybrat, zda budete pracovat s Microsoft Excel nebo s Google Sheets. Obě aplikace umožňují základní i pokročilou práci s daty, ale je zde několik variant a rozdílů, které vás mohou zmást. Pojďme si je popsat:
- Excel (např. Excel 2024) je součástí balíčku Microsoft 365. Balíček obsahuje desktopové aplikace Office, webové verze aplikací a webové úložiště. Desktopová verze je standardem v praxi a doporučujeme si ji zakoupit na stránce www.office.com. Má širší funkčnost a lepší podporu pro velké datasety. V desktopovém Excelu 2024 byl tento kurz vytvářený a je pro něj odzkoušený.
- Microsoft nabízí i 30denní zkušební verzi Microsoft 365, která zahrnuje plnohodnotný desktopový Excel (požaduje zadání platební metody, ale lze kdykoliv zrušit).
- Existuje i zdarma dostupná webová verze Excelu, na kterou se dostanete po přihlášení do svého účtu Microsoft na https://www.office.com. Webová verze má ovšem jiné, jednodušší rozhraní a neobsahuje všechny funkce (např. chybí Power Query, pokročilé grafy atd.). Váš postup tedy nebude 100% odpovídat postupu uvedeném v kurzu.
- Google Sheets (Google Tabulky) je bezplatná alternativa od Google, vhodná pro začátečníky nebo pokud nemáte a nechcete si pořídit Excel. Kurz je vyzkoušený i pro Google Sheets. Někdy ale postup pro Sheets neobsahuje ty samé kroky, jako postup pro Excel, protože Sheets nepodporuje všechny funkce.
Mezi postupem pro Excel a Sheets si můžete přepínat záložkami, viz. dále.
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.
Portál Kaggle požaduje před stažením registraci. Pokud se nechcete registrovat, připravili jsme pro vás soubor ke stažení v archivu na konci této lekce. Po stažení se vraťte zpět na toto místo.
Práce s csv
soubory v Excelu a Google Sheets
Archiv si rozbalíme do nějaké složky. Nalezneme v něm soubory
ElectricCarData_Clean.csv
a ElectricCarData_Norm.csv
.
Verze ElectricCarData_Clean.csv
obsahuje hodnoty bez jednotek,
druhá verze má pak u každé hodnoty napsanou i jednotku (např. km/h). To
není pro práci s daty úplně šikovné, proto si otevřeme verzi Clean.
Podle toho, zda používáte Excel nebo Google Sheets si můžete přepnout další postup kliknutím na příslušnou záložku.
-
Otevření CSV přímo v Excelu
Někdy stačí jen na soubor poklepat ve Windows a zvolit Otevřít v Excelu. Excel ale data naimportuje podle regionálního nastavení a může použít špatný oddělovač, typicky středník (
;
), který je ve výchozím nastavení českých Windows. Zda vše proběhlo v pořádku snadno ověříte, Excelu musí zobrazovat několik sloupců s hodnotami a nesmí být vše v jednom:Na obrázku výše Excel zobrazuje textový CSV soubor přehledně rozdělený do sloupců a řádků. To je mnohem lepší, než číst jej jako prostý text. První řádek navíc hodnoty popisuje. Vidíme zde: značku elektromobilu, model, zrychlení, maximální rychlost a další parametry. Každý další řádek je jeden vůz.
Import CSV do Excelu
V případě problémů s otevřením lze prvně spustit Excel, vytvořit nový prázdný soubor a v záložce Data zvolit Načíst data → Z textu/CSV:
Následně vybereme soubor
ElectricCarData_Clean.csv
. Excel nám v tomto případě zobrazí náhled s přednastaveným oddělovačemčárka
(případně jej vyberte) a kódováním (v české verzi pravděpodobně přednastaví kódování1250: Střední Evropa (Windows)
. Pro soubory ze zahraničí bude potřeba nejčastěji zvolit65001: Unicode UTF-8
(to je výchozí mezinárodní kódování textu). Pokud ale v textu nejsou žádné speciální znaky jako ěščřžý, což v tomto souboru nejsou, je to jedno. Znaky A-Z a 0-9 budou fungovat v každém kódování. Změnou nastavení můžeme importovat soubory v různém kódování nebo s jinými oddělovači a v náhledu vidíme, zda se rozdělí do sloupců správně:Než import potvrdíme, můžeme ještě data snadno transformovat tlačítkem Transformovat data. Tím převedeme např. anglické desetinné tečky na české desetinné čárky. Kliknutí na tlačítko otevře nástroj Editor Power Query. V záhlaví požadovaného sloupce (my si vyzkoušíme změnit formát čísla ve sloupci
AccelSec
, což je akcelerace vozu) klikneme na ikonu na začátku a vybereme možnost Použití národního prostředí..., Datový typ nastavíme na Desetinné číslo a Národní prostředí na Angličtina (Spojené státy):Podobně můžeme transformovat i data v jiných sloupcích. V levém horním rohu Editor Power Query zvolíme Zavřít a načíst. Otevře se nám do sloupců setříděná tabulka, kde je ve sloupci s akcelerací české desetinné číslo:
-
Otevření CSV v Google Sheets
Na https://sheets.google.com vytvoříme Novou tabulku a následně vybereme v menu Soubor -> Importovat:
Vybereme záložku Nahrát a tlačítkem Procházet vybereme soubor
ElectricCarData_Clean.csv
z našeho počítače:Nakonec necháme Sheets automaticky zjistit typ oddělovače. Pokud by se import nepovedl, můžeme oddělovač zvolit. V případě tohoto souboru je oddělovač čárka. Klikneme na tlačítko Importovat data:
Data se z textového souboru automaticky zobrazí přehledně ve sloupcích a řádcích. Zbývá soubor pojmenovat v záhlaví:
Na obrázku výše Sheets zobrazují textový CSV soubor přehledně rozdělený do sloupců a řádků. To je mnohem lepší, než číst jej jako prostý text. První řádek navíc hodnoty popisuje. Vidíme zde: značku elektromobilu, model, zrychlení, maximální rychlost a další parametry. Každý další řádek je jeden vůz.
Pokud jsou všechny hodnoty v jediném sloupci a stále oddělené čárkami, import se nepovedl. V tomto případě jej zkuste znovu a vyberte jako oddělovač čárku.
V příští lekci, Práce ve VS Code s CSV a JSON, si ukážeme práci s CSV soubory ve VS Code a představíme si formát JSON a práci s ním.
Stáhnout
Stažením následujícího souboru souhlasíš s licenčními podmínkamiStaženo 40x (7.09 kB)