2012-04-09 8 views
0

Ich habe Datenblöcke, die ich in einer txt schreiben möchten, oder eine CSV-Datei. Diese Datenblöcke werden als Unterlisten enthalten inPython-How Datenblocks in Spalten zu schreiben?

data=[[('a1','b1'),('c1','d1')], 
     [('a2','b2'),('c2','d2'),('e2','f2')], 
     [('a3','b3'),('c3','d3'),('e3','f3')]] 

möchte ich die Blöcke in Gruppen von Spalten durch Tabulatoren getrennt erscheinen.
Irgendwelche Ideen?
Danke,
Jim

+0

Wie kommt das Beispiel entfernt wurde? – jamylak

+1

Sorry, entfernte ich das Beispiel, weil es nicht formatiert erscheinen habe, und ich dachte, es wäre verwirrend erscheinen. –

+0

Willkommen bei SO! Stellen Sie sicher, dass Sie eine Antwort als akzeptiert markieren, indem Sie auf das Häkchen neben der Frage klicken. – jterrace

Antwort

3
>>> from itertools import izip_longest 
>>> data=[[('a1','b1'),('c1','d1')],[('a2','b2'),('c2','d2'),('e2','f2')],[('a3','b3'),('c3','d3'),('e3','f3')]] 
>>> for columns in izip_longest(*data,fillvalue=''): 
     print '\t'.join(map(' '.join,columns)) 


a1 b1 a2 b2 a3 b3 
c1 d1 c2 d2 c3 d3 
     e2 f2 e3 f3 
+0

Vielen Dank jamylak! Genau das habe ich gesucht. –

+0

Kein Problem ...: D – jamylak

0

Schauen Sie sich die Dokumentation here für einige Beispiele, wie Sie zu diesem gehen könnte. Sie können einen „Reiter“ definieren wie Sie wollen, ob es 2 oder 4 Räume, oder was auch immer passt Ihre Anwendungen.

0

Die CSV-Modul stellt eine Klasse namens „DictWriter“, die genau das tun, was Sie fordern. können Sie einen Blick here

Verwandte Themen