小编use*_*845的帖子

将CSV文件转换为Lua中已定义键的表

我正在学习Lua为飞行模拟器构建脚本.

我有一个CSV文件,如下所示:

Poti city, Poti,red,-295731.42857144,617222.85714285  
Lanchhuti city, Poti,red,-299217.14285715,647851.42857142  
Ozurgeti city, Poti,red,-317217.14285715,648422.85714285  
Samtredia city, Poti,red,-287502.85714287,672022.85714285  
Abasha city, Poti,red,-284245.71428573,661108.57142857
Run Code Online (Sandbox Code Playgroud)

每行包含5个字段(city,region,coalition,coordinate-xcoordinate-y在模拟器坐标参考系).

我需要将此文件作为lua表读取,如下所示:

citylist = {
           [1]
           {
              ["city"] = "Poti city",
              ["region"] = "Poti",
              ["coalition"] = "red",
              ["coordinate-x"] = -295731.42857144,
              ["coordinate-y"] = 617222.85714285,
           },
           [2]
           { ....... etcetc

}
Run Code Online (Sandbox Code Playgroud)

我还必须为一些不同的csv文件执行此操作,并且我试图从luawiki查看一些CSV函数,但老实说我不太懂.您能否写下一个代码示例,该代码应该按预期解析CSV文件?

PS:' " 'csv文件中从不存在任何字符.

编辑+添加

好吧,答案1的代码似乎工作,但似乎没有像上面那样构建一个表.作为一个新手,我会尽我所能解释.

我试着解析这个文字:

123,Poty city,Poti,red,-295731.42857144,617222.85714285
124,Lanchhuti city,Poti,red,-299217.14285715,647851.42857142
125,Ozurgeti city,Poti,red,-317217.14285715,648422.85714285
126,Samtredia city,Poti,red,-287502.85714287,672022.85714285
Run Code Online (Sandbox Code Playgroud)

使用此代码:

do  
    local OLo = io.open(lfs.writedir() .. …
Run Code Online (Sandbox Code Playgroud)

csv lua parsing lua-table

4
推荐指数
1
解决办法
6469
查看次数

标签 统计

csv ×1

lua ×1

lua-table ×1

parsing ×1