2012-05-25 4 views
0

Как напечатать следующий словарь в CSV файл:Python: Написание CSV выходной файл кортеж многозначного словаря

maxDict = {'test1': ('alpha', 2), 'test2': ('gamma', 2)} 

Итак, что выход CSV выглядит следующим образом:

test1, test2 
alpha, gamma 
2, 2 

ps Я задал этот вопрос раньше, но не уверен, как изменить его по-другому, т. Е. Переложить.

ответ

4

Вы должны знать, что порядок ключей в dict определяется реализацией, то есть случайным. Поэтому желательно, чтобы они были sort. Помимо этого, просто необходимо использовать модуль csv:

import csv 
maxDict = {'test1': ('alpha', 2), 'test2': ('gamma', 2)} 
keys = sorted(maxDict.keys()) 
csvw = csv.writer(open('output.csv', 'wb')) 
csvw.writerow(keys) 
data = [maxDict[k] for k in keys] 
for row in zip(*data): 
    csvw.writerow(row) 
Смежные вопросы