csv.reader
Read lines in CSV format and split each one into values.
Python 3.13
csv.reader(csvfile, dialect='excel', **fmtparams)Parameters
- csvfileIterable[str]
- A file open for reading with newline='', io.StringIO or any iterable of strings.
- dialectstr | Dialectoptional
- A set of format settings; 'excel' by default, which is comma-separated CSV.
- **fmtparamsAny
- Individual settings, such as delimiter=';' for the separator or quotechar for the quote character.
Return value
An iterator of rows: each row is a list of string values.
Examples
Reading CSV row by row
Python 3.13
import csv
import io
text = io.StringIO('name,age\nAnna,25\nBoris,31\n')
for row in csv.reader(text):
print(row)['name', 'age'] ['Anna', '25'] ['Boris', '31']
The ; separator and a quoted value
Python 3.13
import csv
import io
text = io.StringIO('city;comment\nMoscow;"big; busy"\n')
rows = list(csv.reader(text, delimiter=';'))
print(rows[1])['Moscow', 'big; busy']
Details
All values come back as strings, so convert numbers yourself: int(row[1]). Open the file with newline='' so that line breaks inside quotes are read correctly. Skip the header row with next(reader), and read rows as dictionaries with csv.DictReader.
