如何在Python中将排序列表转换为制表符分隔值?

时间:2014-01-22 01:08:32

标签: python

我有一个看起来像这样的排序列表[('100','abc'),('99','bca')]。我想把它变成这样的文本文件。

abc     100<br>
bca     99

我试过这个

import csv
writer = csv.writer(f, delimiter = '\t')
writer.writerows(d)

但是这给了我输出:

100 abc<br>
99  bca

2 个答案:

答案 0 :(得分:2)

使用csv module,这非常简单:

import csv

data = [('100','abc'),('99','bca')]

# Use 'w' for other OS's than Windows
with open('my_data.csv', 'wb') as ofile: 
    writer = csv.writer(ofile, delimiter='\t')
    for row in data:
        writer.writerow(list(reversed(row)))

<强> my_data.csv

abc 100
bca 99

答案 1 :(得分:2)

你真的不需要csv模块,除非你的值中有选项卡,因此需要引用。

查找with语句以确保您的文件在完成之后关闭,而不是之后很多,以及内置字符串类型的format方法。

source = [('100','abc'),('99','bca')]

with open("output.txt", "w") as f:
    for line in source:
        f.write('{1}\t{0}\n'.format(*line));