Python:保存为CSV文件,手动打开文件

时间:2016-10-06 20:43:22

标签: python csv

我注意到一个非常奇怪的错误,并且不知道是否有其他人看过这个/知道如何阻止它。

我正在使用以下内容写入CSV文件:

def write_to_csv_file(self, object, string):
        with open('data_model_1.csv', 'a') as f:
            writer = csv.writer(f)
            writer.writerow([object, string])

然后写入文件:

self.write_to_csv_file(self.result['outputLabel'], string)

如果我打开CSV文件查看结果,下次我写入文件时,它将从最后一行的第3列开始(第1列是对象,第2列是字符串)。

如果我多次运行self.write_to_csv_file(self.result['outputLabel'], string)而没有手动打开文件(显然我在Python脚本中打开文件),一切都很好。

只有当我打开文件时才会出现在第3列开始的问题。

有关如何解决这个问题的想法吗?

1 个答案:

答案 0 :(得分:1)

您在 a ppend mode中打开文件,因此数据会附加到文件的末尾。如果文件没有以换行符结尾,则行可能会连接在一起。尝试在追加新行之前在文件中写一个换行符:

with open("data_model_1.csv", "a") as f:
    f.write("\n")