편집 요약 없음 태그: 되돌려진 기여 |
태그: 편집 취소 |
||
5번째 줄: | 5번째 줄: | ||
local csv = frame.args[1] or '' | local csv = frame.args[1] or '' | ||
local lines = {} | local lines = {} | ||
local result = '{| class="wikitable | local result = '{| class="wikitable"\n' | ||
-- CSV 데이터를 줄 단위로 분리 | -- CSV 데이터를 줄 단위로 분리 | ||
11번째 줄: | 11번째 줄: | ||
table.insert(lines, line) | table.insert(lines, line) | ||
end | end | ||
-- 첫 번째 줄은 헤더로 간주하고 처리 | |||
local header = lines[1] | |||
local columns = {} | |||
for column in header:gmatch("[^,]+") do | |||
table.insert(columns, column) | |||
end | |||
result = result .. "! " .. table.concat(columns, " !! ") .. "\n" | |||
-- 데이터 줄 처리 | -- 데이터 줄 처리 |
2025년 8월 8일 (금) 23:12 판
이 모듈에 대한 설명문서는 모듈: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
table.insert(values, value)
end
result = result .. "|-\n| " .. table.concat(values, " || ") .. "\n"
end
result = result .. "|}"
return result
end
return p