편집 요약 없음
편집 요약 없음
태그: 되돌려진 기여
5번째 줄: 5번째 줄:
     local csv = frame.args[1] or ''
     local csv = frame.args[1] or ''
     local lines = {}
     local lines = {}
     local result = '{| class="wikitable"\n'
     local result = '{| class="wikitable timetable" \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:11 판

이 모듈에 대한 설명문서는 모듈:Timetable/설명문서에서 만들 수 있습니다

local p = {}

-- CSV 데이터를 받아 wikitable 형식으로 변환하는 함수
function p.csv(frame)
    local csv = frame.args[1] or ''
    local lines = {}
    local result = '{| class="wikitable timetable" \n'

    -- CSV 데이터를 줄 단위로 분리
    for line in csv:gmatch("[^\r\n]+") do
        table.insert(lines, line)
    end

    -- 데이터 줄 처리
    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