我有一个.csv文件,其中包含温度值和测量温度时的时间戳。我想做的是找到值在特定值以下完成的时间段。我想在没有数据库的情况下进行操作,我知道使用mysql或其他方法很容易。 这是一个学习python统计信息的私人项目。
001,"2018-8-15 08:00:00", 89
002,"2018-8-15 08:00:30", 68
003,"2018-8-15 08:01:00", 56
004,"2018-8-15 08:01:30", 55
005,"2018-8-15 08:02:00", 56
006,"2018-8-15 08:02:30", 63
一个文件每天包含720个条目。
with open('2018815') as file:
for line in files:
s = line.strip().split(",")
if s[3] == "temperature":
continue
if int(s[3]) < 60:
setStart()
if int(s[3]) > 60:
setEnd()
函数setStart
和setEnd
尚未实现,因为我发现自己的想法有误。当我运行代码并仅打印值时,我发现该周期内的周期也定义为一个周期。
答案 0 :(得分:1)
如上所述,pandas是您需要的库,但是如果您想在循环中使用循环,您仍然可以添加一个布尔值,以免在句点时开始添加:
with open('2018815') as file:
is_in_periode = False
for line in files:
s = line.strip().split(",")
if s[3] == "temperature":
continue
if(int(s[3]) < 60 and not is_in_periode):
setStart()
is_in_periode = True
if(int(s[3]) > 60 and is_in_periode):
setEnd()
is_in_periode = False