我是一个新手,并试图解决从某人的程序中复制的一些代码。目前:
#INITIALIZE OUTPUT FILE AND WRITE HEADER ROW
outfp = open(outfn, "w")
outfp.write('.'.join(fields, '\t') + '\n') # header
产生以下错误:
TypeError:join()只接受一个参数(给定2个)。
根据我在其他一些帖子中看到的内容,我认为“\ t”.join可能是一个选项,但我不清楚我是如何考虑“\ t”和“\ n ”。任何帮助赞赏。感谢
答案 0 :(得分:1)
您正在给str.join()
两个参数:
'.'.join(fields, '\t')
fields
和'\t'
是两个独立的参数。如果您想使用标签加入fields
中的值,则需要使用\t
作为调用str.join()
方法的字符串:
'\t'.join(fields)
我假设尝试加入'.'
字符串是一个误解你的工作原理。这会生成一个字符串,因此您可以在其中添加换行符:
outfp.write('\t'.join(fields) + '\n') # header
但是,如果您尝试生成制表符分隔文件,那么使用csv
module会更好:
writer = csv.writer(outfn, delimiter='\t')
writer.writerow(fields)
csv.writer()
对象负责转换为字符串,根据需要正确引用,编写分隔符(上例中的制表符)并添加换行符。