Вы читаете products.csv через csv.DictReader(f) и получили строку row. Как правильно взять значение столбца price?

Arow["price"]
Brow[1]
Crow.price
Drow.get(1)
Правильный ответ. У csv.DictReader доступ к полям идёт по имени столбца.

Разбор

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

Проверь себя · 1/3разбор после ответа
Что произойдёт при выполнении open("missing.csv", "r"), если файла missing.csv не существует?
Тренировать Python в Telegram

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