Schreiben Wörterbuch von Listen in eine CSV-Datei
Ich habe Mühe mit dem schreiben ein Wörterbuch von Listen .csv-Datei.
Dies ist, wie mein Wörterbuch aussieht:
dict[key1]=[1,2,3]
dict[key2]=[4,5,6]
dict[key3]=[7,8,9]
Möchte ich die .csv-Datei Aussehen:
key1 key2 key3
1 4 7
2 5 8
3 6 9
Zuerst Schreibe ich den header:
outputfile = open (file.csv,'wb')
writefile = csv.writer (outputfile)
writefile.writerow(dict.keys())
So weit So gut... Doch mein problem ist, ich weiß nicht wie ich es zuordnen könnte eine Liste der entsprechenden Spalte. z.B.:
for i in range(0,len(dict[key1])):
writefile.writerow([dict[key1][i],dict[key2][i],dict[key3][i])
werden nach dem Zufallsprinzip füllen die Spalten. Ein weiteres problem ist, dass ich manuell füllen Sie die Tasten,, und nicht verwenden können, es für ein anderes Wörterbuch mit 4 Tasten.
Was meinst du mit "zufällig füllen Sie die Spalten"?
Ich denke, dass OP bedeutet, dass seit
Übrigens, sollten Sie nicht verwenden
Ich denke, dass OP bedeutet, dass seit
dict
s sind ungeordnet, die Funktion keys()
wird, drucken Sie Sie aus, "zufällig", wie zB. Key 3, Key 1, Key 2Übrigens, sollten Sie nicht verwenden
dict
wie ein Variablenname.dict
ist nicht mein real-variable-name... nur ein schlechtes BeispielInformationsquelleAutor suschi | 2014-05-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie kümmern sich nicht um die Reihenfolge der Spalten (da die Wörterbücher sind ungeordnete), können Sie einfach
zip()
:Ergebnis:
Wenn Sie kümmern sich um Bestellung, müssen Sie Sie Sortieren die Tasten:
Ergebnis:
Wenn man sich die Frage, die ich verwendet
zip()
umsetzen der ursprünglichen Daten. Wenn Sie den Vorgang erneut, verändern Sie den Zeilen zu den Spalten wieder. Beachten Sie, dasskey1 - 7 - 4 - 1
ist wahrscheinlich nicht das, was Sie wollen...Dieser läuft für mich, und ich bekomme die Ausgabe, die ich will, aber es immer noch eine typeError - "zip-argument #1 muss zur Unterstützung der iteration". Dafür irgendeinen Grund?
""wb" hat nicht funktioniert auf Python ist3, aber "w" gearbeitet.
Rechts, auf Python 2 verwenden, benötigen Sie
wb
, in der Erwägung, dass auf Python 3 verwenden, benötigen Sie dienewline=''
option beim öffnen einer CSV-Datei.InformationsquelleAutor Tim Pietzcker
Gegeben
Folgenden code:
erzeugt eine csv, die wie folgt aussieht:
InformationsquelleAutor jedwards
Rollen Sie Ihre eigenen ohne die csv-Modul:
InformationsquelleAutor wwii
InformationsquelleAutor jcfollower
sparen:
wieder zu Lesen:
InformationsquelleAutor Alireza