Reading and Writing CSV Data
Polymatheia supports CSV both as an input and output format.
Reading CSV data
To read records from a CSV file, use the CSVReader, passing the filename of the CSV
file to load:
from polymatheia.data.reader import CSVReader
reader = CSVReader('filename.csv')
for record in reader:
print(record)
Each row in the CSV file will become one record and each column a key within that record.
Writing CSV data
To write records to a CSV file, use the CSVWriter, passing the filename to write the
CSV file to:
from polymatheia.data.writer import CSVWriter
records = [
{
'id': 1,
'name': 'Test Person',
'age': 32
},
{
'id': 2,
'name': 'Another Test Person',
'age': 19
},
{
'id': 3,
'name': 'Final Person',
'age': 64
}
]
writer = CSVWriter('people.csv')
writer.write(records)
Important
Records that are written to a CSV file must not contain any nested data, as demonstrated in the example above.
Any reader can also be passed to write(), however the records provided
by that reader must not contain any nested data.
You can use the transformation functionality to convert a nested structure into a a simple
structure ready for use with write().