将正在进行的测量保存到 csv 文件中
Save ongoing measurement into csv file
我想将数据存储到 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 文件中。
是否可以保留程序 运行 和 'force' 写入 csv 文件?
写入 python 已缓冲。您可以强制写入输出(刷新缓冲区):
csvfile.flush()
在您的代码中,我建议您在 writer.writerow([i])
之后添加此行。
您也可以将 buffering
参数传递给 open() function
- 但我建议您不要这样做;关闭缓冲会带来性能损失。
我想将数据存储到 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 文件中。 是否可以保留程序 运行 和 'force' 写入 csv 文件?
写入 python 已缓冲。您可以强制写入输出(刷新缓冲区):
csvfile.flush()
在您的代码中,我建议您在 writer.writerow([i])
之后添加此行。
您也可以将 buffering
参数传递给 open() function
- 但我建议您不要这样做;关闭缓冲会带来性能损失。