2012-04-09 33 views
0

我想要在txt或csv文件中寫入數據塊。 數據的這些塊含有作爲子列表中Python-如何在列中寫入數據塊?

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

我想要的塊出現在套由製表符分隔的列。
任何想法?
謝謝
吉姆

+0

這個例子怎麼被刪除? – jamylak 2012-04-09 09:56:33

+1

對不起,我刪除了該示例,因爲它沒有顯示格式,我認爲這看起來很混亂。 – 2012-04-09 10:28:26

+0

歡迎來到SO!確保您通過點擊問題旁邊的複選標記標記答案。 – jterrace 2012-04-09 17:54:39

回答

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

非常感謝jamylak!這正是我所期待的。 – 2012-04-09 10:29:47

+0

沒問題...:D – jamylak 2012-04-09 10:36:22

0

退房文檔here對你怎麼可能去這幾個例子。無論您希望如何,可以定義一個「選項卡」,無論是2個還是4個空格,或者適合您的應用程序的任何內容。

0

csv模塊提供了一個名爲「DictWriter」,這將做你所要求的正是上課。 你可以看看here

相關問題