Я использую python для сбора данных о температуре, но хочу сохранить данные только за последние 24 часа.
В настоящее время я создаю свой файл .csv с этим
while True:
tempC = mcp.temperature
tempF = tempC * 9 / 5 + 32
timestamp = datetime.datetime.now().strftime("%y-%m-%d %H:%M ")
f = open("24hr.csv", "a")
f.write(timestamp)
f.write(',{}'.format(tempF))
f.write("\n")
f.close()
.CSV выглядит следующим образом
.csv, который выводит этот файл, выглядит следующим образом
18-12-13 10:58 ,44.7125
18-12-13 11:03 ,44.6
18-12-13 11:08 ,44.6
18-12-13 11:13 ,44.4875
18-12-13 11:18 ,44.6
18-12-13 11:23 ,44.4875
18-12-13 11:28 ,44.7125
Я не хочу переворачиваться, просто сохраняйте данные за последние 24 часа.Поскольку я собираю данные каждые 5 минут, я должен получить 144 строки в CSV через 24 часа.поэтому, если я использую readlines (), я могу сказать, сколько строк у меня есть, но как мне избавиться от любых строк, которые старше 24 часов?Это то, что я придумал, что, очевидно, не работает.Предложения?
f = open("24hr.csv","r")
lines = f.readlines()
f.close()
if lines => 144:
f = open("24hr.csv","w")
for line in lines:
if line <= "timestamp"+","+"tempF"+\n":
f.write(line)
f.close()