Wikiverzita:Tabulky
Z Wikiverzity
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ů:
| Řá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.