2015-11-20 17 views
2

У меня есть словарь, который содержит следующее:Написать словарь в CSV файл

{'Jim': ['1', '9', '5'], 'kim': ['8', '6', '0'], 'lim': ['10', '6', '1'], 'slim': ['8', '8', '2'], 'pimp': ['9', '9', '1'], 'sim': ['8', '7', '1']} 

Мой вопрос: Как я пишу все это в CSV файл?

Он должен написать и появится что-то вроде этого в файле CSV:

имя хуг

name2 хуг

имя 3 хуг

...

Я попытался :

with open('file.csv', 'wb') as csvfile: 
    wr = csv.writer(csvfile) 
    wr.writerow(DICTIONARY) 

ответ

0

Вы можете перемещаться по элементам словаря и написать одну строку за один раз:

import csv 

D = {'Jim': ['1', '9', '5'], 'kim': ['8', '6', '0'], 'lim': ['10', '6', '1'], 
    'slim': ['8', '8', '2'], 'pimp': ['9', '9', '1'], 'sim': ['8', '7', '1']} 

with open('file.csv', 'w', newline='') as csvfile: 
    writer = csv.writer(csvfile)  

    for name, items in D.items():  
     writer.writerow([name] + items) 

Проверить csv.writer документация here.
Обратите внимание, что словари Python неупорядочены, т. Е. Это может не создавать одинаковые файлы в каждом прогоне.

+0

AttributeError: «ДИКТ» объект имеет ([имя без атрибута «iteritems» – pythontamer

+0

в spamwriter.writerow ] + items) TypeError: 'str' не поддерживает интерфейс буфера – pythontamer

+0

@pythontamer: Я обновил код для синтаксиса Python 3.x. –

0

Этот код ниже входит в список списков в отдельные столбцы (сделано по editting код Женьки)

with open("file.csv', 'w', newline='') as csvfile: 
    writer = csv.writer(csvfile) 
    for name, items in DICTIONARY.items():  
     writer.writerow([name] + items) 
Смежные вопросы