Posibilidad de escribir artículos del diccionario en columnas.

Tengo un diccionario en el que las claves son tuplas y los valores se enumeran como

{('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df'): [5.998999999999998,0.0013169999, 4.0000000000000972], ('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de'): [7.89899999, 0.15647999999675390, 8.764380000972, 9.200000000]} 

Quiero escribir este diccionario en un archivo csv en el formato de columna como:

 ('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df') ('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de') 5.998999999999998 7.89899999 0.0013169999 0.15647999999675390 4.0000000000000972 8.764380000972 9.200000000 

Sé lo mismo para escribir en formato de fila usando el código:

 writer = csv.writer(open('dict.csv', 'wb')) for key, value in mydict.items(): writer.writerow([key, value]) 

¿Cómo escribo lo mismo en columnas? ¿Es incluso posible? Gracias de antemano remití los documentos de Python para CSV aquí: http://docs.python.org/2/library/csv.html . No hay información sobre la escritura de la columna sabia.

 import csv mydict = {('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df'): [5.998999999999998, 0.0013169999, 4.0000000000000972], ('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de'): [7.89899999, 0.15647999999675390, 8.764380000972, 9.200000000]} with open('dict.csv', 'wb') as file: writer = csv.writer(file, delimiter='\t') writer.writerow(mydict.keys()) for row in zip(*mydict.values()): writer.writerow(list(row)) 

Archivo de salida dict.csv:

 ('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df') ('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de') 5.998999999999998 7.89899999 0.0013169999 0.1564799999967539 4.000000000000097 8.764380000972 

Estoy seguro de que puedes averiguar el formato:

 >>> d.keys() #gives list of keys for first row [('c4:7d:4f:53:24:be', 'ac:81:12:62:91:df'), ('a8:5b:4f:2e:fe:09', 'de:62:ef:4e:21:de')] >>> for i in zip(*d.values()): #gives rows with tuple structure for columns print i (5.998999999999998, 7.89899999) (0.0013169999, 0.1564799999967539) (4.000000000000097, 8.764380000972) 

Para su código, haga esto:

 writer = csv.writer(open('dict.csv', 'wb')) writer.writerow(mydict.keys()) for values in zip(*mydict.values()): writer.writerow(values) 

Los () y no se agregarán al archivo csv.