Вот одна возможность.Только часть данных сохраняется в CSV.Если вам нужны заголовки, вам нужно добавить код в save_csv ().Пример данных в строке data
.Вы можете инициализировать data
, загрузив в него любой файл, который вам нравится.
data = [[
A B C
A 0 3 4
B 5 0 7
C 7 8 0
A B C D
A 0 3 4 5
B 5 0 7 9
C 7 8 0 5
D 7 8 6 0
]]
--------------------------------------------------------------------------------
local cc = table.concat
--------------------------------------------------------------------------------
function save_csv(filenumber,t)
io.open(filenumber .. '.csv','w'):write(cc(t,'\n')):close()
end
--------------------------------------------------------------------------------
local filenumber = 1
local ans = {}
for line in (data..'\n'):gmatch '(.-)\n' do
local s = {}
for item in line:gmatch '%d+' do s[#s+1] = item end
if #s > 0 then
ans[#ans+1] = cc(s,',')
elseif #ans > 0 then
save_csv(filenumber,ans)
filenumber = filenumber + 1
ans = {}
end
end