【问题标题】:insert Knn csv into table LUA将 Knn csv 插入表 LUA
【发布时间】:2019-10-16 16:51:57
【问题描述】:

我正在尝试加载包含 knn 数据的 csv(3 列无名称)
例如

4   3   a
1   3   a
3   3   a
4   5   b

我已经能够将文件加载到字符串中。

当我尝试将其移动到表格中时,我没有收到任何错误,但是当我将表格打印到屏幕上时,我得到了 nil 的值。

我尝试更改给出相同结果的文件内容,如果更改为 (knn_data),我会在所有键中获得 csv 的路径地址。

我正在尝试让 csv 数据出现在索引表及其 3 列中。

代码如下:

--load kNN file.

local knn_data = system.pathForFile("knn.csv", system.ResourceDirectory)
local file, errorString = io.open(knn_data, "r")

if not file then
    print("File Error: File Unavailable")
else
    local contents = file:read("*a")
    print(contents)
    io.close(file)
end
file = nil

-- load data into table
dataset = {}
for line in io.lines(knn_data) do
    dataset[#dataset+1] = (contents)

Previously attached screenshot of code

【问题讨论】:

    标签: csv lua knn


    【解决方案1】:

    ...

    else
      local contents= file:read("*a")
      print(contents)
    --io.close(file)
    end
    

    contentselse 语句中的局部变量。 在它之外,内容为零。

    dataset = {}
    for line in io.lines(iknn_data) do
      dataset[#dataset+1] = (contents)
    

    所以dataset[#dataset+1]= (contents) 等价于dataset[#dataset+1]= nil

    在通用 for 循环中,line 包含从文件中读取的行。所以实际上你应该使用它。

    【讨论】:

      猜你喜欢
      • 2023-03-02
      • 2011-12-17
      • 2017-05-15
      • 2014-06-03
      • 2012-10-24
      • 1970-01-01
      • 2017-01-03
      • 2014-06-27
      • 1970-01-01
      相关资源
      最近更新 更多