将持续测量保存到csv文件中

时间:2015-09-10 11:51:38

标签: python csv export

我想将数据存储到csv文件中。但是数据随着时间的推移而递增。我写了一个简单的例子来说明问题:

import csv
import time
i = 0
with open('testfile.csv','wb') as csvfile:
    writer = csv.writer(csvfile,delimiter=';',quoting=csv.QUOTE_NONE)
    while True:
        i = i+1
        print i
        writer.writerow([i])    
        time.sleep(2)

当while循环运行时,不会写入csv文件。但是当我停止程序时,数据存储在csv文件中。 是否有可能让程序保持运行并且“强制”#39;写入csv文件?

1 个答案:

答案 0 :(得分:0)

在python中写入是缓冲的。您可以强制写入输出(刷新缓冲区):

csvfile.flush()

在您的代码中,我建议您在writer.writerow([i])之后添加此行。

您还可以将buffering参数传递给open() function - 但我建议您不要这样做;切换缓冲会带来性能损失。