模块:GetCsv
跳到导航
跳到搜索
给S佬写的模块,用来解析站内的csv表格
|data=csv表格
|row=第row+1行(第一行为标题,忽略之)
|col=第col列
///////////////////////////////////////////////////////////////////////////////////////
demo
{{#invoke:GetCsv|Parse|data={{:Widget:CraftsList/data}}|row=3|col=12}}
自身的Arts指令卡性能提升3%
/////////////////////////////////////////////////////////////////////////////////////
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