Wikiverzita:Tabulky

Z Wikiverzity

Přejít na: navigace, hledání

Wikiverzita:Tabulky – Význam, vytváření a používání rozličných tabulek na Wikiverzitě

Obsah

[editovat] Tabulka

Tabulka je datová struktura, ve které jsou jednotlivé údaje (jednotlivá políčka tabulky) uspořádána do řádků a sloupců. Jedná-li se o číselná data, říká se takovému uspořádání matice. V krajním případě může mít tabulka i jen jeden sloupec či jeden řádek, či sestávat jen z jediného políčka.

Jednou z vhodných způsobů ukládání tabulek může být např. relační databáze, které může obsahovat množství vzájemně provázaných tabulek a je vybavena mechanismy pro jejich třídění, uspořádávání, prohledávání, úpravu atd. Řádek tabulky se zde zpravidla nazývá záznam. Nevýhodou databáze je to, že různých databází existuje celá řada a vzájemný přednost dat mezi nimi nemusí být vždy triviální záležitostí. Jinou takovou možností zpracování tabulek může být spreadsheet, ale i zde platí to, co bylo řečeno o různých databázových systémech.

Pro Wikiverzitu jsou tabulky obzvláště důležité tím, že umožňují udržovat i velké množství např. naměřených dat. Na tomto místě se budeme zabývat možnými způsoby prezentace tabulek na Wikiverzitě.

[editovat] wiki-table

Wiki-table je způsob vytváření tabulek v syntaxi MediaWiki. Podrobný návod je na m:en:Help:Table.

Jako příklad si uděláme jednoduchou tabulku, která má tři řádky, obsahující A, 1, dále B, 2 a nakonec C, 3; na začátku tabulky je popis sloupců:

Tři řádky písmen a čísel
Řádky Písmena Čísla
1. řádek A 1
2. řádek B 2
3. řádek C 3

Možností různých zobrazení je celá řada, to nás ale v tuto chvíli až tak moc nezajímá. Spíš si ukážeme výše uvedenou tabulku v maximálním zjednodušení:

A 1
B 2
C 3

anebo (každý element zapisujeme na samostatný řádek):

A 1
B 2
C 3

Probléme může být vložení nějakých zvláštních znaků, např. samotného svislítka: Abychom dostali zobrazené svislítko, musíme pro jeho zobrazení použít entitu ¦ jež zobrazí ¦ Komplikuje to ale problém při vkládání libovolných obsahů do tabulek;

[editovat] CSV

CSV je asi nejjednoduší způsob uložení tabulkových dat v textovém souboru. Zkratka CSV znamená Comma-Separated Values, neboli hodnoty oddělené čárkami. Namísto čárek je možné použít k oddělení jednotlivých políček na řádce i jiné oddělovací znaky, třeba svislítka, a dokonce i prázdné znaky, např. mezery nebo tabulátory. Textová pole mohou a nemusí být uzavřena do uvozovek. Jeden řádek takového souboru reprezentuje jeden řádek tabulky. CSV se používá zejména pro export a import tabulek mezi různými systémy a zároveň představuje i relativně snadný způsob zápisu dat z klávesnice.

Výše uvedený příklad zapíšeme ve formátu CSV jako:

A, 1
B, 2
C, 3

[editovat] CSV – wiki-table

Pro konverzi CSV do wiki-table můžeme použít i obyčejný textový editor, v němž čárky (či jiné použité oddělovací znaky) nahradíme dvěma svislítky a znak nové řádky nahradíme dvěma znaky nové řádky, mezi něž budou vloženy znaky |-

Jednoduchý jednořádkový perlovský příkaz pro takové nahrazení může vypadat třeba následovně:

perl -pe 's/,/ ||/g;s/\n/\n|-\n/'

Začátek a konec tabulky, tj, znaky {| a |}, případně podrobnější definici vzhledu tabukly, již můžeme dotvořit ručně.

[editovat] wiki-table – CSV

Zpětný převod ze syntaxe wiki-table na CSV může už být složitější. Musíme dvě svislítka převést zpátky na čárku a vyházet oddělovací řádky. Tabulku z předcházejícího příkladu tak můžeme (za pomoci regulárních výrazů) převést zpátky např. jednořádkovým perlovským příkazem:

perl -ne 'next if /^\|-$/; s/ *\|\|/,/g; print'

Pokud je ale wiki-table zapsána odlišně, např. každé pole na samostatný řádek, bude zpětná konverze na CSV složitější. Proto je výhodnější, obzvláště rozsáhlá data, ukládat na samostatné stránky jako CSV a nikoli jako Wiki-table.