Data update

This commit is contained in:
Ingy döt Net 2025-02-27 18:35:13 -05:00
parent 8e4e15fa56
commit 72eb4943cb
1853 changed files with 35514 additions and 9441 deletions

View file

@ -0,0 +1,13 @@
-- Lua has no built in methods to handle csv files.
-- it does have string.gmatch, which we use to global.match whatever isn't a comma
print(io.read"l" .. ",SUM")
for line in io.lines() do
local fields, sum = {}, 0
for field in line:gmatch"[^,]+" do
table.insert(fields, field)
sum = sum + field
end
table.insert(fields, sum)
print(table.concat(fields,","))
end

View file

@ -0,0 +1,26 @@
local csv={}
-- read csv file, save records and fields into table
for line in io.lines('file.csv') do
local fields = {}
for field in line:gmatch"[^,]+" do
table.insert(fields, tonumber(field) or field)
end
table.insert(csv, fields)
end
-- change csv values
table.insert(csv[1], 'SUM')
for i=2,#csv do
local sum=0
for _, val in ipairs(csv[i]) do
sum = sum + val
end
table.insert(csv[i], sum)
end
-- Save
local fileHandler = io.open('file.csv', 'w')
for NR, fields in ipairs(csv) do
fileHandler:write(table.concat(fields,","), "\n")
end

View file

@ -1,31 +0,0 @@
local csv={}
for line in io.lines('file.csv') do
table.insert(csv, {})
local i=1
for j=1,#line do
if line:sub(j,j) == ',' then
table.insert(csv[#csv], line:sub(i,j-1))
i=j+1
end
end
table.insert(csv[#csv], line:sub(i,j))
end
table.insert(csv[1], 'SUM')
for i=2,#csv do
local sum=0
for j=1,#csv[i] do
sum=sum + tonumber(csv[i][j])
end
if sum>0 then
table.insert(csv[i], sum)
end
end
local newFileData = ''
for i=1,#csv do
newFileData=newFileData .. table.concat(csv[i], ',') .. '\n'
end
local file=io.open('file.csv', 'w')
file:write(newFileData)