Visidata Python Excel
Co myslíte, existuje nástroj, který se vyrovná Excelu nebo je dokonce ještě lepší? Nástroj, který umí tabulky, snadno se používá, je rychlý a navíc nestojí ani korunu?
Pro někoho - například pro analytiky - může být takovým nástrojem Visidata. Jeho tvůrce ho označuje jako interaktivní víceúčelový tool pro tabulková data, který kombinuje přehlednost tabulkového procesoru, efektivitu terminálu, sílu jazyka Python a který snadno zpracuje miliony řádků.
Takový popis možná zní trochu složitě, ale ve skutečnosti je Visidata uživatelsky přívětivý nástroj.
TLDR
Je Visidata pro Vás? Podívejte se na video, které ukazuje, jak provést několik běžných datových úkolů. Ty jsou popsány, včetně podrobného návodu, dále v tomto článku. Můžete si tak práci ve Visidata vyzkoušet sami.
Video provádí úkoly s použitím příkazů z menu. Pokud se naučíte klávesové zkratky, budete ještě rychlejší. 😉
Vše, co analytik potřebuje, už v základu
I když bylo zmíněno slovo Python, mohou tento nástroj bez problémů používat uživatelé - ne-programátoři. Visidata umí spoustu věcí out of the box a data zobrazuje v dobře známém, tabulkovém rozhraní.
Analýza a úprava dat ve Visidata je tak rychlá a elegantní, že by to mělo být ilegální. Dokud to nezažijete sami, neuvěříte.
Přesun sloupců, jejich vytváření, odstranění, vyhledávání, přehledy a mnoho dalších funkcí funguje tak rychle až se zdá, že je práce s daty příliš snadná. Zvlášť když pozorujete někoho, kdo se naučil klávesové zkratky, které ve Visidata můžete používat.
Nemusí být pro každého
Visidata je úžasný nástroj, ale to neznamená, že je vhodný pro všechny úkoly. Pro komplexní analýzu se bude lépe hodit Python nebo R v kombinaci s Jupyter Notebookem, respektive RStudiem.
Další nevýhodu vidíme v tom, že se tool spouští a ovládá na příkazové řádce (terminál). Přiznejme si, že to je pro některé uživatele problém a pro malou část to může být dokonce nepřekonatelná bariéra.
Což je škoda, protože Visidata po krátkém seznámení opravdu nabízí neuvěřitelně pohodlný způsob práce s daty.
Umí toho hodně
Když už je řeč o datech, co všechno Visidata zvládá? Je toho hodně:
- CSV
- Excel
- Data z pevnou šířkou (fixed width)
- HTML (hledá tagy
<table>
) - JSON
- XML
- Soubory SAS
- MySQL databáze
- Postgres databáze
- SQLite databáze
- a mnoho dalších formátů
Soubory a data v různých formátech můžete nejenom číst, ale i ukládat. Nabízí se tak snadný převod dat mezi různými formáty. A to bez znalosti programovacího jazyka!
I když se dá Visidata ovládat rychlostí myšlenky pomocí klávesových zkratek, nabízí také něco pro uživatele závislé na myši. I v textovém režimu totiž můžete používat myš a vybírat příkaz jako byste byli v GUI.
Začněte do 1 minuty
Pokud máte na svém počítači Python, stačí jen spustit příkazový řádek a nainstalovat Visidata přes pythonovský instalátor pip
.
pip3 install visidata
Otestujte verzi.
vd --version
Měl by se vám zobrazit text podobný následujícímu:
saul.pw/VisiData v2.10.2
Hotovo. Můžete začít používat Visidata!
Všechno je list
Ve Visidata jsou data uspořádány do listů (sheet), což je podobný koncept jako např. v Excelu. Jednotlivé listy obsahují sloupce a řádky.
List je ale i samotné nastavení Visidata, seznam použitých příkazů, apod.
Přepínat mezi jednotlivými listy můžete pomocí klávesové zkratky Shift+s
nebo přes příkaz v menu View > Sheets > stack
.
Nepropadejte panice
Pokud se během práce ve Visidata dostanete do situace, kdy nevíte kudy kam, stačí použít následující Panic buttons:
Ctrl+c
zruší aktuální příkazq
ukončí aktuální listCtrl+q
ukončí Visidata
Pár jednoduchých úkolů
Máte pár minut čas? Vyzkoušejte si následující úkoly ve Visidata a sami se přesvědčte, jak může být práce s daty rychlá a pohodlná.
Pro zajímavost si zkuste stejné zadání třeba v Excelu. Napište nám pak, co bylo rychlejší. 🙂
1. Načtení CSV dat v zazipovaném souboru
Pro vyzkoušení můžete použít soubor parkovani.csv.zip, který pochází z pražských otevřených dat.
Soubor otevřete ve Visidata následujícím příkazem v terminálu (příkazovém řádku).
vd parkovani.csv.zip
Objeví se list s 1 řádkem, který ukazuje obsah zip souboru a základní informace. Stiskněte Enter
. Visidata načte CSV soubor a zobrazí ho.
2. Skrytí nepotřebných sloupců
Sloupce zahajeni_parkovani
a ukonceni_parkovani
nebudeme potřebovat, proto je skryjeme. Šipkami se pohybujete po jednotlivých řádcích a sloupcích.
Přejděte na sloupec zahajeni_parkovani
. Skryjte sloupec pomocí menu Column > Hide
nebo klávesové zkratky -
.
To samé proveďte pro sloupec ukonceni_parkovani
.
3. Rozdělení sloupce
Rozdělte sloupec parkovací zóna na Městskou část a Číslo zóny.
Šipkami přejděte na sloupce parkovaci_zona
.
Rozdělte sloupec pomocí menu Column > Split
nebo klávesové zkratky :
.
Zadejte -
, protože sloupec rozdělíte podle tohoto znaku, a stiskněte Enter
.
Objeví se 2 nové sloupce, které mají příponu _re0
a _re1
. To proto, že Visidata používá pro rozdělení regular expressions a Python. Díky tomu můžete rozdělovat sloupce i podle složitějších pravidel.
4. Přejmenování sloupců
Měli byste stát na sloupci parkovaci_zona_re0
. Pokud ne, tak na něj přejděte pomocí šipek.
Přejmenujte sloupec pomocí menu Column > Rename > current column
nebo klávesové zkratky ^
.
Napište mestska_cast
a stiskněte Enter
.
Šipkami přejděte na sloupec parkovaci_zona_re1
. Přejmenujte tento sloupec na cislo_zony
.
Sloupec parkovaci_zona
už nebudete potřebovat, proto ho skryjte pomocí menu Column > Hide
nebo pomocí klávesové zkratky -
.
5. Změna pořadí sloupců
Sloupce posunujete pomocí kláves Shift
+ šipky
doleva nebo doprava.
Můžete tak snadno přesunout sloupec cas_zakoupeni
na 3. pozici, za sloupec cislo_zony
.
6. Kolik je parkovacích zón - rychlý histogram
Vraťte se šipkami na 1. sloupec mestska_cast
.
Použijte příkaz menu Data > Frequency table > current column
nebo klávesovou zkratku Shift+F
. Zobrazí se histogram.
Stisknutím klávesy q
se vrátíte na předchozí list.
7. Převedení textu na datum
Sloupec cas_zakoupeni
byl načten jako text. Převeďte ho na datum pomocí menu Column > Type as > custom date format...
nebo pomocí klávesové zkratky z@
.
Napište %Y-%m-%dT%H:%M:%S.000Z
a stiskněte Enter
.
Poznámka: Visidata používá pro formátování Python strftime.
8. Převedení textu na číslo
Sloupec cena
převeďte na číslo s plovoucí desetinou čárkou (float) pomocí menu Column > Type as > float
nebo pomocí klávesové zkratky %
.
Stiskněte _
, aby se šířka sloupce přizpůsobila obsahu.
9. Řazení záznamů podle datumu
Seřaďte záznamy vzestupně podle sloupce cas_zakoupeni
pomocí menu Column > Sort by > current column only > ascending
nebo pomocí klávesové zkratky [
.
10. Agregace (kontingenční tabulka)
Vytvořte Agregaci (kontingenční tabulku) s počtem a součtem podle jednotlivých městských částí a kanálu, který ukazuje způsob zakoupení.
Přejděte na sloupec mestska_cast
a označte ho jako klíčový sloupec pomocí menu Column > Key > toggle current column
nebo pomocí klávesové zkratky !
.
Sloupec kanal
pomocí stejného postupu také označte jako klíčový sloupec. Všimněte si, že se změní jeho pozice.
Pokud nejste na sloupci cena
, přejděte na něj a přidejte agregátor pomocí menu Column > Add aggregator
nebo pomocí klávesové zkratky +
.
Napište sum
a stiskněte Enter
.
Poté vytvořte agregaci pomocí menu Data > Frequency table > key columns
nebo pomocí klávesové zkratky g
a potom Shift+F
.
Seřaďte data podle sloupců mestska_cast
a kanal
pomocí menu Column > Sort by > key columns
nebo pomocí klávesové zkratky g
a potom [
.
Stisknutím klávesy "q" se vrátíte na předchozí list.
11. Export do Excelu
Uložte všechny listy do Excelového formátu xlsx pomocí menu File > Save > all sheets...
nebo použijte klávesovou zkratku g
a potom Ctrl+S
.
Soubor pojmenujte parkovani.xlsx
a stiskněte Enter
.
Stisknutím g
a potom q
Visidata ukončíte.
Pokud jste vše udělali správně, uloží se soubor Excelu, který obsahuje 3 listy.
Závěr
Vyzkoušeli jste si alespoň malou část všeho, co Visidata dokáže. Pro další objevování Visidata doporučujeme online návod An Introduction to VisiData.