我有以下代码:
f = open("test.tsv", 'wt')
try:
writer = csv.writer(f, delimiter='\t')
for x in range(0, len(ordered)):
writer.writerow((ordered[x][0],"\t", ordered[x][1]))
finally:
f.close()
我需要TSV文件让有序[x] [0]由两个带有有序[x] [1]的选项卡分隔 “\ t”增加了空格,但它不是标签,输出中显示括号。
谢谢!
答案 0 :(得分:1)
您可以将"\t"
替换为""
以获得您想要的内容:
writer.writerow((ordered[x][0],"", ordered[x][1]))
实际上,中间的空字符串将被两侧的标签包围,有效地在ordered[x][0]
和ordered[x][1]
之间放置两个标签。
然而,更自然的代码完全相同的事情是:
with open("test.tsv", "w") as fh:
for e in ordered:
fh.write("\t\t".join(map(str, e[:2])) + "\n")
我在哪里:
with
语句(解释为here)而不是try ... finally
构建t
函数中的open
模式(t
是默认行为)ordered
而不是使用索引for ... in
中的元素
join
代替csv编写器:这些适用于分隔符为单个字符的情况