csv
The csv module reads CSV files into Lua tables.
csv = require("csv")Functions
decode(filename, options)
Reads a CSV file and returns a table of rows. Each row is a table of column values.
Options:
| Option | Description | Default |
|---|---|---|
separator |
Column separator character | , |
charset |
Character encoding ("ISO-8859-1" supported) |
UTF-8 |
columns |
Table of column indices to extract | all columns |
csv = require("csv")
-- Read all columns
data = csv.decode("products.csv")
for i, row in ipairs(data) do
print(row[1], row[2], row[3])
endWith options:
csv = require("csv")
data, msg = csv.decode("products.csv", {
separator = ";",
charset = "ISO-8859-1",
columns = {1, 3, 5} -- only columns 1, 3, and 5
})
if not data then
print(msg)
os.exit(-1)
end
-- data[1][1] = first row, first selected column (original column 1)
-- data[1][2] = first row, second selected column (original column 3)
-- data[1][3] = first row, third selected column (original column 5)