我有一个看起来像这样的排序列表[('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
答案 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));