在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、准备一份csv文件
ID,Name,Des,Model ID,名字,描写叙述,图片模型 1,广告,www.benmutou.com,csv.png 2,否认,呵呵,广告什么的,我才不会加,good.png 二、字符串切割函数
function split(str, reps) local resultStrsList = {}; string.gsub(str, '[^' .. reps ..']+', function(w) table.insert(resultStrsList, w) end ); return resultStrsList; end 三、解析csv函数
function loadCsvFile(filePath) -- 读取文件 local data = cc.FileUtils:getInstance():getStringFromFile(filePath); -- 按行划分 local lineStr = split(data, '\n\r'); --[[ 从第3行開始保存(第一行是标题,第二行是凝视,后面的行才是内容) 用二维数组保存:arr[ID][属性标题字符串] ]] local titles = split(lineStr[1], ","); local ID = 1; local arrs = {}; for i = 3, #lineStr, 1 do -- 一行中,每一列的内容 local content = split(lineStr[i], ","); -- 以标题作为索引,保存每一列的内容,取值的时候这样取:arrs[1].Title arrs[ID] = {}; for j = 1, #titles, 1 do arrs[ID][titles[j]] = content[j]; end ID = ID + 1; end return arrs; end这里把解析出来的数据存储在数组中了 四、測试代码
local function main() local csvConfig = loadCsvFile("res/Mutou.Csv"); print(csvConfig[1].Name .. ":" .. csvConfig[1].Des); print(csvConfig[2].Name .. ":" .. csvConfig[2].Des); end 这样就能把csv文件的第一、二行的描写叙述输出来。 是不是比c++简单多了。好了,就到这里! |
请发表评论