Итак, проблема, с которой вы сталкиваетесь, заключается в том, что тип данных row
на Line 26
является array
, а не dict
. Поэтому, если вы используете index
элемента вместо ['keyName']
, все будет работать нормально.
Замените следующее:
return_string += "a {} {} is {}\n".format(row["color"], row["name"], row["type"])
с
return_string += "a {} {} is {}\n".format(row[1], row[0], row[2])
В качестве альтернативы, вы можете использовать String Interpolation
, чтобы сделать ваш код более читабельным:
return_string += f'a {row[1]} {row[0]} is {row[2]}\n'
Если вы хотите использовать имена столбцов в качестве индексов, вы можете использовать csv.DictReader()
вместо csv.reader()