写个lua-读取csv文件的代码
以下是一个简单的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的标准方法来访问和处理这个表格中的数据。
原文地址: http://www.cveoy.top/t/topic/lY8 著作权归作者所有。请勿转载和采集!