python csv写入新的附加文件而不替换旧文件

时间:2017-02-12 20:36:01

标签: python csv csv-write-stream

我正在尝试编写csv文件并在每次用户使用它时创建一个新文件,而不是替换旧文件。而且,用户需要在开头输入他们的名字,所以我需要文件名作为用户名。这是我的代码:

    direction = "/Users/Desktop/"
    cvs_file_name = str(self.entrySub.get()) ###'entrySub' is where users enter the name, and I use .get() to retrieve it.### 
    with open(direction, cvs_file_name+'_results.csv', 'w') as resultFile:
        resultFileWrite = csv.writer(resultFile, quoting=csv.QUOTE_ALL)
        resultFileWrite.writerow(['Subject', "Session"])
        resultFileWrite.writerow([self.entrySub.get(), self.entrySes.get()])
        resultFile.flush()

但是,有一个错误     “使用open(direction,cvs_file_name +'_ results.csv','w')作为resultFile: TypeError:需要一个整数(得到类型str)“。

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

open的第一个参数是文件的整个路径,包括目录。 尝试

with open(direction + cvs_file_name + '_results.csv', 'w') as resultFile:
    etc