模块:GetCsv
1.38>牛腩面2022年7月7日 (四) 20:39的版本 (导入1个版本)
本页面之全部或部分原来自萌娘百科的模块:GetCsv,依 CC BY-NC-SA 3.0 CN 授权引入;原贡献者可以在这里看到。 |
给S佬写的模块,用来解析站内的csv表格
|data=csv表格
|row=第row+1行(第一行为标题,忽略之)
|col=第col列
///////////////////////////////////////////////////////////////////////////////////////
demo
{{#invoke:GetCsv|Parse|data={{:Widget:CraftsList/data}}|row=3|col=12}}
/////////////////////////////////////////////////////////////////////////////////////
local p = {}
function p.Parse(frame)
local args = (frame == mw.getCurrentFrame() and frame.args) or frame
blocks=split(args.data,'\n')
line=split(blocks[tonumber(args.row,10) + 1],',')
return line[tonumber(args.col,10)]
end
function split(input, delimiter)
input = tostring(input)
delimiter = tostring(delimiter)
if (delimiter=='') then return false end
local pos,arr = 0, {}
for st,sp in function() return string.find(input, delimiter, pos, true) end do
table.insert(arr, string.sub(input, pos, st - 1))
pos = sp + 1
end
table.insert(arr, string.sub(input, pos))
return arr
end
return p