Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python TypeError:join()只接受一个参数(给定2个)_Python_Join - Fatal编程技术网

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)