以下是一个简单的Lua程序,用于读取CSV文件并将其转换为Lua表:

function read_csv_file(file_name)
    local file = io.open(file_name, "r")
    local header = {}
    local rows = {}

    for line in file:lines() do
        local values = {}

        for value in line:gmatch("[^,]+") do
            values[#values + 1] = value
        end

        if #header == 0 then
            header = values
        else
            local row = {}

            for i = 1, #header do
                row[header[i]] = values[i]
            end

            rows[#rows + 1] = row
        end
    end

    file:close()

    return rows
end

-- 用法示例
local data = read_csv_file("example.csv")

-- 输出表格中的数据
for i = 1, #data do
    for k, v in pairs(data[i]) do
        print(k .. ": " .. v)
    end

    print("----------")
end

在这个程序中,我们首先打开CSV文件,然后逐行读取文件内容。对于每一行,我们使用正则表达式将其分割成一个值的列表,然后根据CSV文件的第一行(也就是表头)来将值放入对应的键中,最后将每一行作为一个Lua表插入到总表中。最后关闭文件并返回表格。

在使用时,我们只需将CSV文件的路径传递给read_csv_file函数,它将返回一个由所有行组成的表格。我们可以使用Lua的标准方法来访问和处理这个表格中的数据。

写个lua-读取csv文件的代码

原文地址: http://www.cveoy.top/t/topic/lY8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录