我的Python模块有一个列表,其中包含我想要保存为.txt文件的所有数据。该列表包含几个元组,如:
list = [ ('one', 'two', 'three'), ('four', 'five', 'six')]
如何打印列表,以便每个元组项由一个制表符分隔,每个元组用换行符分隔?
由于
答案 0 :(得分:9)
你可以解决它,因为其他答案建议只需加入行,但更好的方法是只使用python csv模块,以便稍后您可以轻松更改分隔符或添加标题等并将其读回来,看起来像你想要制表符分隔文件
import sys
import csv
csv_writer = csv.writer(sys.stdout, delimiter='\t')
rows = [ ('one', 'two', 'three'), ('four', 'five', 'six')]
csv_writer.writerows(rows)
输出:
one two three
four five six
答案 1 :(得分:8)
print '\n'.join('\t'.join(x) for x in L)
答案 2 :(得分:2)
试试这个
"\n".join(map("\t".join,l))
测试
>>> l = [ ('one', 'two', 'three'), ('four', 'five', 'six')]
>>> print "\n".join(map("\t".join,l))
one two three
four five six
>>>
答案 3 :(得分:2)
open("data.txt", "w").write("\n".join(("\t".join(item)) for item in list))
答案 4 :(得分:1)
最惯用的方式,恕我直言,是使用列表理解和连接:
print '\n'.join('\t'.join(i) for i in l)
答案 5 :(得分:0)
您无需提前加入列表:
with open("output.txt", "w") as fp:
fp.writelines('%s\n' % '\t'.join(items) for items in a_list)