в Python 3, values()
больше не возвращает list
. Вы должны сначала преобразовать это:
writer.writerow(list(each.values()))
обратите внимание, что словари не упорядочены, поэтому порядок столбцов не определен (если вы не используете Python 3.6 или выше), поэтому, возможно, вы захотите использовать объект csv.DictWriter
вместо этого, чтобы избежать заголовка не соответствует вашим строкам.
Вот как я это сделаю, используя csv.DictWriter
:
import csv
data = [{'id': 1, 'Info': 'Example 1'}, {'id': 2, 'Info':'Example 2'}]
with open('all_csv.csv', 'w', newline="") as f:
writer = csv.DictWriter(f, fieldnames = data[0], delimiter=',')
writer.writeheader()
writer.writerows(data)
вывод:
Info,id
Example 1,1
Example 2,2