• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

cocos2d-x(quick-lua)读取csv文件

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一、准备一份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++简单多了。好了,就到这里!



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
lua设计与实现(二)数据类型发布时间:2022-07-22
下一篇:
lua使用中遇到的坑总结发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap