【发布时间】:2016-07-26 17:59:41
【问题描述】:
我目前正在以当前格式将传感器的温度和湿度水平记录到 CSV 文件中:-
2016-04-05 20:21:39,15.50,49.30
2016-04-05 20:22:40,15.50,49.30
2016-04-05 20:23:40,15.40,49.30
2016-04-05 20:24:41,15.40,49.40
然后我使用numpy.loadtxt 读取要绘制的值:-
dates, temp = np.loadtxt('templog.csv',
converters={0: datefunc},
unpack=True,
delimiter=',',
usecols=(0, 1))
dates2, humid = np.loadtxt('templog.csv',
converters={0: datefunc},
unpack=True,
delimiter=',',
usecols=(0, 2))
这一切都很好,但它从一开始就绘制了每个指标。例如,我想限制要绘制的“x”最后一行数,以允许我只执行最后 24 小时。
这是否可以使用 CSV 文件作为源,或者我最好将数据插入 sqlite3 数据库,然后使用适当的选择查询来提取我想要的数据并绘制。
【问题讨论】:
-
你能告诉我们你的情节并告诉我们你想改变什么吗?
-
不确定向您展示情节是否会有所帮助。我只是不想绘制 CSV 文件中的每一行。如果它的长度为 500、1000 或 10,000 行,我如何仅绘制文件的最后 100 行?
-
只需对要绘制的数组部分进行切片。查找切片语法以及它如何与 Numpy 数组一起使用。并且可能在一次调用
loadtxt()中加载三个数组。 :-)
标签: python csv numpy matplotlib