Python 使用变量作为文件名写入文件

Python 使用变量作为文件名写入文件,python,pandas,Python,Pandas,我正在尝试使用以下命令将数据写入输出文件: outFileName="myfile_" + gene_name #gene_name gets a new value from argparse df.to_csv('%.csv' %outFileName, sep=',', index=False) 我得到的错误是: TypeError: %c requires int or char 我试过了 outFileName=str("myfile_" + gene_name) 得到了同样

我正在尝试使用以下命令将数据写入输出文件:

outFileName="myfile_" + gene_name #gene_name gets a new value from argparse 

df.to_csv('%.csv' %outFileName, sep=',', index=False)
我得到的错误是:

TypeError: %c requires int or char
我试过了

outFileName=str("myfile_" + gene_name)

得到了同样的错误。我错过什么了吗?如果我不使用变量作为输出文件名,我可以保存df,但我需要变量

我认为您可以使用
格式
作为文件的新名称:

df.to_csv('myfile_{}.csv'.format(gene_name), sep=',', index=False)
或者,如果可以使用python 3.5+,请使用
f-string
s:

df.to_csv(f'myfile_{gene_name}.csv', sep=',', index=False)

使用
来\u csv

df.to_csv(outFileName+".csv", sep=',', index=False)

请不要只发布代码作为答案,还要解释代码的作用以及它是如何解决问题的。带有解释的答案通常更有帮助,质量更好,更容易吸引选票
name = x
nameFile = name +'.csv'

with open(nameFile, "a") as a_file:
    a_file.write(data)