Python TypeError:join()只接受一个参数(给定2个)
我是个十足的新手,正在尝试对从某人程序复制的代码进行故障排除。目前:Python TypeError:join()只接受一个参数(给定2个),python,join,Python,Join,我是个十足的新手,正在尝试对从某人程序复制的代码进行故障排除。目前: #INITIALIZE OUTPUT FILE AND WRITE HEADER ROW outfp = open(outfn, "w") outfp.write('.'.join(fields, '\t') + '\n') # header 产生以下错误: TypeError:join()只接受一个参数(给定2个) 根据我在其他一些线程中看到的情况,我认为“\t”。join可能是一个选项,但我不清楚如何将其同时用于“\t
#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”。谢谢你的帮助。谢谢您提供了
str.join()
两个参数:
'.'.join(fields, '\t')
字段
和'\t'
是两个独立的参数。如果要使用制表符连接字段中的值,则需要使用\t
作为调用str.join()
方法的字符串:
'\t'.join(fields)
我假设您试图加入。
字符串是对其工作原理的误解。这将生成一个字符串,因此您可以在该字符串后面追加一个换行符:
outfp.write('\t'.join(fields) + '\n') # header
但是,如果您试图生成选项卡分隔的文件,则最好使用:
csv.writer()
对象负责转换为字符串、根据需要正确引用、写入分隔符(上例中的制表符)和添加换行符。您想完成什么?您的连接的预期输出是什么?在我看来,还有一种更干净的方法:“”。连接(“\t”,字段,“\n”)
@serghei:这不是一种更干净的方法。这不会产生正确的输出。
writer = csv.writer(outfn, delimiter='\t')
writer.writerow(fields)