我有一个如下列表,并尝试将其写为txt文件作为制表符分隔。
final_out = [(['2893541', 'OVERALL', 'friendly and genuine.'], 77), (['2893382', 'SPEED', 'timely manner."'], 63)]
我的输出语句是但它没有消除方括号:
fh = open("text.txt", "w")
fh.write('\n'.join('%s %s' % x for x in final_out))
fh.close()
我想要的输出是:
2893541 OVERALL friendly and genuine. 77
2893382 SPEED timely manner. 63
提前非常感谢你。
答案 0 :(得分:1)
with
自动清理文件句柄。我的建议是使用csv
模块,它也会为你处理转义(默认情况下使用引号)。
import csv
final_out = [(['2893541', 'OVERALL', 'friendly and genuine.'], 77), (['2893382', 'SPEED', 'timely manner."'], 63)]
with open('text.txt', 'wb') as fh:
writer = csv.writer(fh, delimiter='\t')
for row in final_out:
writer.writerow(row[0] + [row[1]])
答案 1 :(得分:0)
您可以像这样修改写行:
fh.write('\n'.join('%s %s' % (' '.join(a), b) for a, b in final_out))
答案 2 :(得分:0)
您可以尝试使用此方法:
final_out = [(['2893541', 'OVERALL', 'friendly and genuine.'], 77), (['2893382', 'SPEED', 'timely manner."'], 63)]
fh = open("text.txt", "w")
for final_out_item in final_out:
first_part = '\t'.join(final_out_item[0])
fh.write("%s\t%s\n" % (first_part, final_out_item[1]))
fh.close()