我是Lua的新手,需要帮助解析文本文件并将数据输出为表格格式。
文本文件在表示的列中设置
GroupID
IndividualID
Name
Status
并包含以下内容:
100 1 AAA 1
100 2 BBB 2
100 3 CCC 0
200 4 DDD 1
200 5 EEE 1
我希望输出显示为:
100 2
200 2
第二列完全为非零状态。到目前为止,这是我的代码:
function readText ("sample.txt")
local file = io.open("sample.text", "r")
if file then
for line in file:lines() do
local group, individual, name, status = line:split(" ")
local count = 0
if status ~= "0" then count = count + 1
table.insert (group, count)
print (group, count)
end
file:close()
else
end
end
为了输出第二个GroupID
的计数,我需要使用
if group ~= group then
table.insert (group, count)
提前感谢您的帮助!
答案 0 :(得分:0)
试试这个内循环:
local last=nil
local count=0
for line in ifile:lines() do
local group,status=line:match("^(%S+)%s.*%s(%S+)$")
if group~=last then
if count>0 then
print(last,count)
end
count=0
last=group
end
if status~="0" then
count=count+1
end
end
if count>0 then
print(last,count)
end