导出列表为.txt(Python)

时间:2010-02-22 04:54:06

标签: python list csv export tuples

我的Python模块有一个列表,其中包含我想要保存为.txt文件的所有数据。该列表包含几个元组,如:

list = [ ('one', 'two', 'three'), ('four', 'five', 'six')]

如何打印列表,以便每个元组项由一个制表符分隔,每个元组用换行符分隔?

由于

6 个答案:

答案 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)