如何在Torch / Lua中从文件中加载表格?

非常简单的操作。我有一个包含N行和6列的表格文件,我想在我的Torch/Lua脚本中将其加载到一个表格中。

数据文件的格式如下:

` chromNameA startA endA chromNameB startB endB chr22 16867980 16868130 chr22 16669675 16678717 chr22 16867980 16868130 chr22 16685348 16701095 chr22 16867980 16868130 chr22 16723869 16739035 chr22 16867980 16868130 chr22 16748016 16750787 chr22 16867980 16868130 chr22 16750788 16755877 `

我希望将其加载到一个表格中,例如 table[1][2] 包含 16867980 等。

我该怎么做?谢谢

点赞
用户1442917
用户1442917

你可以使用 string.match 将每行解析为一个表,并使用 io.lines 迭代文件内的每一行:

-- script.lua
local t, patt = {}, ("(%w+)%s+"):rep(5).."(%w+)"
for line in io.lines() do
  if not line:find("^chromNameA") then
    table.insert(t, {line:match(patt)})
  end
end
print(#t, t[1][1], t[1][6]) -- 输出 `5 chr22 16678717`

-- file.txt
chromNameA  startA  endA    chromNameB  startB  endB
chr22   16867980    16868130    chr22   16669675    16678717
chr22   16867980    16868130    chr22   16685348    16701095
chr22   16867980    16868130    chr22   16723869    16739035
chr22   16867980    16868130    chr22   16748016    16750787
chr22   16867980    16868130    chr22   16750788    16755877

-- 执行命令:lua script.lua <file.txt

你可以通过运行 lua script.lua <file.txt 来启动脚本,它应该会生成一个具有你想要的结构的表。

2015-04-06 16:07:30