Как написать многозначные словари в CSV с помощью модуля CSV? - PullRequest
1 голос
/ 06 апреля 2020
import csv

dict = {'a':[1,4],'b':[2,3]}

Я хочу преобразовать этот модуль в CSV-файл с именем 'rating.csv'

Желаемый результат:

name,maths,science
a,1,4
b,2,3

1 Ответ

1 голос
/ 06 апреля 2020

Вы можете перебирать ключи и значения словаря, объединять их в один список и затем использовать csv.writerow для каждой записи:

import csv
d = {'a':[1,4],'b':[2,3]}
with open("rating.csv", "w", newline="") as fh:
    writer = csv.writer(fh)
    writer.writerow(["name", "maths", "science"])
    for key, values in d.items():
        writer.writerow([key] + values)

Обратите внимание, что я с именами от dict до d, так как вам следует избегать использования встроенных имен для ваших переменных.

Вывод в "rating.csv":

name,maths,science                                                              
a,1,4                                                                           
b,2,3
...