写入后尝试限制CSV文件的大小

时间:2019-04-18 06:36:30

标签: python-3.x

我有一些代码用于读取ADC,然后登录到csv文件。我正在寻找一种方法来本质上将CSV中的这些数据进行FIFO。因此,如果文件大于2000行,则将CSV限制为2000个条目,并推出最早的行。这将使数据(我用于绘图)保持最新状态,也不会创建巨大的CSV文件,而该文件最终将永远在我的Raspberry Pi Zero上打开。...我对Python还是很陌生,所以不胜感激。附件是我当前的代码,该代码读取和转换ADC数据并将其写入CSV文件。 预先感谢。

with open("/home/pi/data_log.csv", "a") as log:

        #fieldnames = ('Date', 'Level', 'Litres')
        #writer = csv.DictWriter(log, fieldnames=fieldnames)
        #writer.writeheader()    #Only needed to run once    


        #load data to csv
        log.write("{0},{1},{2}\n".format(strftime("%Y-%m-%d %H:%M:%S"),str(Level),str(Litres)))
        #print some stuff so i know it is working
        print("Writing to CSV")
        print("RAW",ADC_RAW)
        print("AVG",ADC_AVG)
        print(strftime("%Y-%m-%d %H:%M:%S"))
        print("Tank Level",Level,pc)
        print("Tank Litres",Litres,l)
        print()
        if Litres <= 500:
            GPIO.output(Pump,GPIO.LOW)
            print("Pump Disabled - Level below 500L")
        if Litres >= 1000:
            GPIO.output(Pump,GPIO.HIGH)
            print("Pump Enabled - Level above 1000L")
        print() 

0 个答案:

没有答案