Open data transformer
pro automatické zpracování dat

Zpracovávání a příprava otevřených dat se stala důležitou součástí práce ve webstudiu. Počet zpracovaných zdravotnických datasetů stoupá, a z toho důvodu jsme se rozhodli vytvořit interný nástroj, který by nám ulehčil popis dat. Jak takový nástroj vznikl, jakou technologii jsme použili a jak můžete nástroj využívat, se dočtete na následujících řádcích.

To, že webstudio pomáhá zpracovávat a zveřejňovat zdravotnická data, není žádná novinka. Jak to děláme, se můžete dočíst v rozhovoru s Petrem Panoškou, který je hlavním guru otevřených dat ve webstudiu.

Proč potřebujeme aplikaci?

Prostor pro zlepšení se dá najít pořád a tak jsme se rozhodli v rámci zefektivnění popisu datových sad vytvořit interní nástroj, který by usnadnil naši práci.

Abychom pochopili, v čem spočívá myšlenka nástroje, pojďme si ve zkratce popsat proces přípravy otevřených dat. Ukážeme si také, v které fázi tohoto procesu využijeme náš Open Data Transformer.

Obrázek 1. Open Data Transformer
Obrázek 1. Open Data Transformer

Proces zjednodušeně můžeme rozdělit do několika kroků:

  1. Stanovíme si zda, můžeme data publikovat.
  2. Zamyslíme se, jak budu data vypadat. Data musíme dostatečne popsat, přidělit atributy, datové typy a nadefinovat schéma datasetu.
  3. Dataset validujeme a nakonec dataset zveřejníme v katalogu otevřených dat.

Druhý krok je ukázkovým příkladem pro zefektivnění procesu. Myšlenkou tedy bylo vytvořit nástroj, který by nám pomohl jednoduše popsat datasety. Úlohou uživatele by bylo zadat popisky (metadata) k datasetům a nástroj by si už se vším poradil sám. Výstupem by byl zpracovaný dataset a nadefinované schéma datasetu.

Problém s kódováním
Častým problémem, na který může uživatel narazit při práci s daty, je kódování datasetu. Jako příklad můžeme uvést tabulku s daty, která byla vytvořená v Excelu.

Pro češtinu využívá MS Windows a programy v balíčku MS Office, do kterého patří taky Excel, kódování znakové sady ve Windows-1250 (Win-1250). Zjednodušeně, když tabulku otevíráme nebo vytváříme v Excelu, použije se kódování Win-1250. Pro zlepšení interoperability je doporučeno používat kódování UTF-8. Když si otevřeme CSV soubor s kódováním UTF-8 v Excelu, pravděpodobně dostaneme směs textu s různými symboly namísto písmen jako ř, ž, á… A naopak, když vytvoříme tabulku v Excelu, kterou uložíme jako CSV a následně ji otevřeme v jiném programu než je Excel, pravděpodobně dostaneme opět směs textu a různých zástupných znaků. Chtěli jsme, aby aplikace myslela i na tento případ a umožnila přepsat kódování na UTF-8.

Obrázek 2. Kódovaní s win-1250
Obrázek 2. Kódovaní s win-1250

Chybný oddělovač údajů
Dalším častým problémem, se kterým se může uživatel při práci s datasety setkat, je použitý oddělovač údajů v CSV souboru. Standardně se pro CSV používá čárka, jak plyne už z názvu formátu, t.j. Comma Separated Values. Problém ale může nastat, když pro export CSV souboru použijeme aplikaci Excel. Ten, v českém prostředí, namísto čárky používá na oddělování údajů středník (;). Jedná se o chybnou implementaci CSV standardu. Také tento problém jsme chtěli v aplikaci vyřešit.

Od myšlenky k realizaci

Myšlenka
Na začátku jsme si definovali, co má naše aplikace umět:

  • Do aplikace nahrajeme CSV dataset bez ohledu na velikost.
  • V případě, když je v datasetu použité kódování Windows-1250, můžeme ho překódovat na standardní kódování UTF-8.
  • Když je v datasetu použitý oddělovač středník (;), můžeme ho změnit na čárku.
  • Aplikace vytvoří formulář pro kompletní popis datasetu a předvyplní názvy atributů ze zdrojového CSV.
  • Aplikace vyexportuje upravený dataset a datové schéma podle vstupních parametrů.

Realizace
Na začátku jsme vymysleli jméno aplikace Open Data Transformer. Rozhodli jsme se aplikaci napsat v Reactu a celý kód zveřejnit na Github, to znamená, že budeme rádi když kdokoli náš kód použije, vylepší a bude sdílet. Výsledkem je aplikace s jednoduchým rozhraním, do kterého nahrajeme dataset. V případě potřeby změníme kódování a oddělovač. Aplikace si dataset načte, připraví a předvyplní formulář, a můžeme dopsat potřebné popisky. Nakonec si upravený dataset a datové schéma stáhneme k sobě do počítače. Dataset doporučujeme pokaždé zkontrolovat, jestli nedošlo k chybě. Pro tento účel jsme umístili do aplikace odkaz na externí službu pomocí, které lze popsané CSV snadno zvalidovat.

Obrázek 3. csvw-validator
Obrázek 3. csvw-validator

Závěrem

Tato aplikace je jen malým střípkem ve velké mozaice otevřených dat, která svým významem zabírá jen nepatrné místo. Pomáhá ale spoluvytvářet ekosystém, který je důležitý pro podporu a budování komunity a idey otevřených dat.

Čtěte dál Tyto články vám nesmí uniknout

Publikace

COVID-19 infodemie Nová kniha

2 minuty čtení


Design

Onemocnění aktuálně COVID-19 dáta v novom kabáte

6 minut čtení

ZAUJALI JSME TĚ? Napiš nám

Tým webstudia