| Line 50: |
Line 50: |
| | id = mw.text.trim(v) | | id = mw.text.trim(v) |
| | elseif type(k) == 'number' then | | elseif type(k) == 'number' then |
| − | table.insert(params, mw.text.trim(v)) | + | params[k - 2] = mw.text.trim(v) |
| | elseif k == 'lang' and v ~= '_' then | | elseif k == 'lang' and v ~= '_' then |
| | lang = mw.text.trim(v) | | lang = mw.text.trim(v) |
| Line 96: |
Line 96: |
| | local data = loadData(dataset) | | local data = loadData(dataset) |
| | local names = {} | | local names = {} |
| − | for _, field in pairs(data.schema.fields) do | + | for _, field in ipairs(data.schema.fields) do |
| | table.insert(names, field.name) | | table.insert(names, field.name) |
| | end | | end |
| Line 102: |
Line 102: |
| | local params = {} | | local params = {} |
| | local paramOrder = {} | | local paramOrder = {} |
| − | for _, row in pairs(data.data) do | + | for _, row in ipairs(data.data) do |
| | local newVal = {} | | local newVal = {} |
| | local name = nil | | local name = nil |
| − | for pos, val in pairs(row) do | + | for pos, columnName in ipairs(names) do |
| − | local columnName = names[pos]
| |
| | if columnName == 'name' then | | if columnName == 'name' then |
| − | name = val | + | name = row[pos] |
| | else | | else |
| − | newVal[columnName] = val | + | newVal[columnName] = row[pos] |
| | end | | end |
| | end | | end |