csv.reader
Читает строки в формате CSV и разбивает каждую на значения.
Python 3.13
csv.reader(csvfile, dialect='excel', **fmtparams)Параметры
- csvfileIterable[str]
- Файл, открытый на чтение с newline='', io.StringIO или любой итерируемый объект строк.
- dialectstr | Dialectнеобязательный
- Набор настроек формата; по умолчанию 'excel' — CSV через запятую.
- **fmtparamsAny
- Отдельные настройки, например delimiter=';' — разделитель или quotechar — символ кавычек.
Возвращаемое значение
Итератор строк: каждая строка — список значений-строк.
Примеры
Чтение CSV построчно
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']
Разделитель ; и значение в кавычках
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']
Подробности
Все значения возвращаются строками, числа нужно преобразовать самим: int(row[1]). Файл открывайте с newline='', чтобы переводы строк внутри кавычек читались правильно. Строку заголовков можно пропустить через next(reader), а читать строки как словари — через csv.DictReader.
