Ruby csv
From wikinotes
csv = CSV.new(File.read('out.csv'))
csv.read # array of rows
csv << [0, 1, 2] # append row to csv
csv = CSV.new("id, name\n123, foouser\n345, baruser", headers: true)
# each time you call `csv.first`, it returns the next row
csv.first # {id: 123, name: "foouser" }
csv.first # {id: 456, name: "baruser" }