이 모듈에 대한 설명문서는 모듈:Timetable/설명문서에서 만들 수 있습니다
local p = {}
-- CSV 데이터를 받아 wikitable 형식으로 변환하는 함수
function p.csv(frame)
local csv = frame.args[1] or ''
local lines = {}
local result = '{| class="wikitable"\n'
-- CSV 데이터를 줄 단위로 분리
for line in csv:gmatch("[^\r\n]+") do
table.insert(lines, line)
end
-- 첫 번째 줄은 헤더로 간주하고 처리
local header = lines[1]
local columns = {}
for column in header:gmatch("[^,]+") do
table.insert(columns, column)
end
result = result .. "! " .. table.concat(columns, " !! ") .. "\n"
-- 데이터 줄 처리
for i = 2, #lines do
local row = lines[i]
local values = {}
for value in row:gmatch("[^,]+") do
-- 각 칸에서 'x'를 '...'으로 치환
value = value:gsub("x", "...")
table.insert(values, value)
end
result = result .. "|-\n| " .. table.concat(values, " || ") .. "\n"
end
result = result .. "|}"
return result
end
return p