Help:Tabular data/sv
![]() |
OBS: När du redigerar denna sida samtycker du till att släppa ditt bidrag under CC0. Se hjälpsidorna för Public Domain för mer information. | ![]() |
Tabelldata gör så att användare kan skapa CSV-liknande datatabeller och använda dem från andra wikier för att skapa automatiska tabeller, listor och diagram.
För att skapa en ny tabell går du till Wikimedia Commons och skapar en ny sida i namnrymden Data med ett .tab-suffix, såsom Data:Sandbox/Name/Example.tab
.
Experimentera gärna genom att skapa sidor med prefixet $1.
Sidinnehåll kan för tillfället endast redigeras i oformaterat JSON-format och med en grundläggande tabellredigerare, men en finess möjliggör import/export från/till CSV- och Excel-filer.
Another script allows import from existing graph wikitext. Generative AI can be prompted to import data from existing graph and table wikitext, and to update with new data.
Eventuellt (skrivet 21 november 2016), vi hoppas att det kommer finnas en kalkylblads-liknande editor för att förenkla dataredigering.
The underlying data format largely matches the Frictionless Data standard for a tabular data resource.
Datalicens
Alla data i namnrymden Data:
måste uttryckligen ange datans licens.
Den rekommenderade licensen är Public Domain, licensierad under licensen Creative Commons Zero (CC0).
För att ange detta måste alla datasidor ha "license": "CC0-1.0"
, vilket betyder att datan kan användas under CC0 version 1.0 eller (om du vill) senare versioner.
Genom att redigera datan godkänner du användarvillkoren och går med på att oåterkalleligen släppa dina bidrag till allmän egendom under CC0.
Om det inte går att publicera datan under CC0, stöds också följande licenser:
- CC-BY:
- CC-BY-1.0: Creative Commons Attribution 1.0
- CC-BY-2.0: Creative Commons Attribution 2.0
- CC-BY-2.5: Creative Commons Attribution 2.5
- CC-BY-3.0: Creative Commons Attribution 3.0
- CC-BY-4.0: Creative Commons Attribution 4.0
- CC-BY-4.0+: Creative Commons Attribution 4.0 or later version
- CC-BY-SA
- CC-BY-SA-1.0: Creative Commons Attribution-Share Alike 1.0
- CC-BY-SA-2.0: Creative Commons Attribution-Share Alike 2.0
- CC-BY-SA-2.5: Creative Commons Attribution-Share Alike 2.5
- CC-BY-SA-3.0: Creative Commons Attribution-Share Alike 3.0
- CC-BY-SA-4.0: Creative Commons Attribution-Share Alike 4.0
- CC-BY-SA-4.0+: Creative Commons Attribution-Share Alike 4.0 or later version
- ODbL-1.0
- ODbL-1.0: ODC Open Database License v1.0
Alla mallar som hämtar data från icke-CC0-licensierade datauppsättningar behöver följa relevanta tillskrivningsvillkor, därför rekommenderas det starkt att föredra CC0 närhelst möjligt.
Någon gång i framtiden kan listan över licenser som stöds av namnrymden Data expanderas.
Datatyper
Tabellarisk JSON-data stödjer flera grundläggande värdetyper.
Du kan också istället använda värdets null
för att markera att det saknas.
number
– Ett numeriskt värde med en valfri fraktionsdel och kan använda exponentiell E-notation, man kan inte inkludera icke-nummer som NaN.boolean
– tillåter bara värdenatrue
ochfalse
.string
– ett textsträng som inte är längre än 300 tecken lång. Specialtecken som nya rader\n
och rader\t
är inte tillåtna.localized
– En flerspråkig sträng, representerad som ett objekt med nycklar som är språkkoder (t.ex. "sv") och värden som är en sträng med över begränsningen på max 400 tecken. Till exempel,{"en":"string in English", "fr":"chaîne de texte en français", ...}
har strängvärden för både engelska och franska.
Toppnivåfält
Tabelldata har flera obligatoriska och valfria topp-nivå-element:
license
– obligatoriskt fält måste alltid sättas till strängvärdet"CC0-1.0"
. Tabelldata stödjer för tillfället bara licensen CC0 (Public Domain dedication) version 1.0 eller senare. Stöd för fler licenser kan komma i framtiden.schema: {"fields": [{...}, {...}, ...]}
– obligatoriskt fält måste sättas till ett objekt som innehåller en lista. Varje fält beskriver en kolumn med tabelldata. Varje fält måste vara ett objekt med de obligatoriska värdena"name"
och"type"
.name
– obligatoriskt fält, är kolumnens namn. Värdet måste börja med en bokstav eller ett understreck"_"
och får endast innehålla bokstäver, understreck eller siffror. Detta gör så att varje rubrik lätt kan användas från en kodningsmiljö såsom Lua eller Vega-diagram.type
– obligatoriskt fält, måste ställas in till en av dessa värden:"number"
,"boolean"
,"string"
eller"localized"
.title
– valfritt fält, är en valfri översättning för kolumnens rubrik. Om angiven måste den innehålla ett lokaliserat strängobjekt.
data
– obligatoriskt fält, måste alltid anges till en lista över listor. Alla underlistor måste ha samma antal element som rubrik, och måste matcha värdetyperna.description
– valfritt fält, måste anges som ett lokaliserat strängvärde - ett objekt med minst ett nyckel-värde där nyckeln är en språkkod (t.ex. "sv"), och värdet är en beskrivningsources
– valfritt fält, måste vara en wikimarkeringssträngvärde som beskriver datans källa.mediawikiCategories
– optional field, must be set to a list that contains objects. Each object can have two values:name
– required field, name of a category the tabular data page itself should be added to.sort
– optional field, what sort key to use for the page in the category.
Användning
Det finns två sätt att använda denna data:
- Ett Lua-skript på alla wikier kan hämta denna data genom att anropa
mw.ext.data.get("Example.tab")
. Funktionen returnerar tabelldata i nästan samma format som det ursprungliga JSON, förutom det att alla lokaliserade strängar kommer omvandlas till vanliga strängar och licensfältet kommer också innehålla lokaliserade licensnamn. För att hämta datan på ett annat språk anger du språkkoden som den andra parametern. För att hämta datan i ursprunglig, omodifierad form, använder du "_" som språkkod. - Chart renderings are backed by tabular data, either using the page referenced in the
Data:Example.chart
format page's"source": "Example.tab"
field or overridden on the invocation as with{{#chart:Example.chart|source=Example.tab}}
. (Ett Vega-diagram kan hämta tabelldata genom att använda"tabular:///Example.tab"
som url till datakälla.)
Om man transkluderar en sida från Data-namnrynden på Commons, t.ex. {{Data:Example.tab}}
, kommer det renderas som en HTML-tabell.
För att komma åt datan direkt på en wikisida kan du importera (om du inte redan har dem) tabelldatamodulen (kräver modulen navbar) och kanske mallar tabellfrågor (kräver den tidigare nämnde tabelldatamodulen).
Med dessa verktyg kan du lätt hämta en cells värde.
Exempel
{
"license": "CC0-1.0",
"description": {
"en": "Some good fruits for you",
"es": "Algunas buenas frutas para ti"
},
"sources": "http://example.com and [[Data]] page",
"schema": {
"fields": [
{ "name": "id", "type": "string", "title": { "en": "Fruit ID", "fr": "ID de fruit" }},
{ "name": "count", "type": "number", "title": { "en": "Count", "fr": "Décompte" }},
{ "name": "liked", "type": "boolean", "title": { "en": "Do I like it?", "fr": "L’aimes-tu ?" }},
{ "name": "description", "type": "localized", "title": { "en": "Fruit name", "fr": "Nom du fruit" }}
]
},
"data": [
[
"peaches",
100,
true,
{
"en": "Magnificent but a bit artificial sweet peaches",
"es": "esto puede estar en español",
"fr": "Magnifiques mais ce sont des pêches un tantinet sucrées"
}
],
⋮
],
"mediawikiCategories": [
{
"name": "Example category",
"sort": "Its sortkey"
},
{
"name": "Example category 2",
"sort": "Second sortkey"
}
]
}
Läs c:Data:COVID-19 cases in Santa Clara County, California.tab för ett exempel på hur JSON-data renderas på Commons.
Begränsningar och aha
- Inga strängvärden förutom
"sources"
får vara längre än 400 tecken långa. Specialtecken som nya rader\n
och flikar\t
är inte tillåtna. - Sidans totala storlek får inte överstiga 2MB.
null
values are passed by the validator but are likely to cause trouble with processing by Lua modules, as JSONnull
maps to Luanil
and these entries end up missing from the data row tables, causing common iteration patterns to break early.
Administratörsanteckningar
- Webbplatsens administratörer kan anpassa meddelanden som
jsonconfig-err-license
för att se till att redigerare känner till begränsningen till bara CC0.
Konvertera data till JSON
Det finns flera tillgängliga verktyg för att konvertera andra format till JSON
Considerations around Extension:Chart and Excel/Libreoffice Calc
Many Excel sheets have many more columns than it makes sense to show in a diagram. Since June 2025, Extension:Chart supports graphing only select columns (curves).
Before that, to conveniently graph a subset of the curves, a version of the .tab page had to be produced with the corresponding subset of the columns.
The data can be exported from Commons as a CSV file, modified in a spreadsheet program, and then converted back to tabular JSON using c:MediaWiki talk:Gadget-TabularImportExport.js.
CSV och TSV
- convertcsv.com – (välj "CSV till JSON-array) Generera utmatning som JSON-array, under "utmatningsalternativ" välj alternativet "om till JSON-array, skapa array för kolumnnamn med namn" Du behöver fortfarande manuellt lägga till name: och type: till alla inlägg fields (se exempel ovan för formatering)
XLS
- xls-to-json – Konvertera xls-filer till JSON o NodeJS
Se även
- Help:Map Data – snarlikt strukturerad kartdata i namnrymden
Data:
på Commons. - Extension:Chart
- Lua-datamoduler
- Tabular data – vissa implementeringsdetaljer
- Category:Graph Template Collection – mallar för att skapa diagram med Commons datamängder
- Gadget-TabularImportExport – Ett skript för att importera från och exportera till CSV- och Excel-filer, av User:TheDJ.
- Tomastvivlaren/graphDataImport – A script to import tabular data from Graph:Chart wikitext.
- commons:module:Json2table and commons:template:Json2table – module and template that allow automatic exporting of tabular data, stored at commons, to tables in Wikipedia pages (if installed on the local Wikipedia)
- phab:T154071 – Tillåt icke-CC0-licenser för datamängder
- DataNamespace – tidigare förslag