从元组python列表中创建制表符分隔的打印输出

时间:2016-02-17 19:04:55

标签: python list csv join tuples

我有一个元组列表,我想把它变成一个标签分隔格式,我可以输出到屏幕上。 我有,例如一个元组列表A。

[('1_1248', 1, 1),('1_148', 7, 0),('1_18', 6, 1),('1_10', 2, 1)]

我的代码是:

print "ID", "name" , "name"
print("\t".join( repr(e) for e in output))

产生:

ID   name  name
('1_1248', 1, 1)     ('1_148', 7, 0)    ('1_18', 6, 1)  ('1_10', 2, 1)

我想要某种制表符分隔输出(最好使用一行或两行):

ID    name  name
'1_1248'  1  1
'1_148'   7  0
'1_18'    6  1
'1_10'    2  1

我知道如何做这个" long"方式,但有一个简短的1/2衬垫?

2 个答案:

答案 0 :(得分:2)

会有两行:

>>> A = [('1_1248', 1, 1),('1_148', 7, 0),('1_18', 6, 1),('1_10', 2, 1)]
>>> for a in A:
...     print "\t".join([str(i) for i in a])
... 
1_1248  1   1
1_148   7   0
1_18    6   1
1_10    2   1
>>> 

答案 1 :(得分:2)

使用pandas:

import pandas as pd

x = [('1_1248', 1, 1),('1_148', 7, 0),('1_18', 6, 1),('1_10', 2, 1)]

df = pd.DataFrame(x, columns=["ID", "name" , "name"])

df 
       ID  name  name
0  1_1248     1     1
1   1_148     7     0
2    1_18     6     1
3    1_10     2     1

# to save
df.to_csv("data.csv")