Вы читаете CSV с заголовком через csv.DictReader(f). Что представляет собой row внутри цикла for row in csv.DictReader(f):?

AСписок значений без имён столбцов (как у csv.reader)
BОдна строка CSV целиком (тип str)
CПара ("header", "values") для каждой строки
DСловарь: ключи — названия столбцов, значения — ячейки строки
Правильный ответ. csv.DictReader отдаёт строки как словари по именам столбцов.

Разбор

csv.DictReader(f) использует первую строку файла как заголовок и затем возвращает каждую строку как словарь. Ключи — названия столбцов, а значения — строки из соответствующих ячеек. Это удобно в аналитике, когда нужно обращаться к полям по имени (например, row["price"]), а не по индексу.

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

Ещё вопросы по теме «Работа с файлами: JSON и CSV»