【发布时间】:2020-07-11 11:26:16
【问题描述】:
我有一个包含这样数据的 CSV 文件 -
time,a,b,c,d,e,f,g
2020-06-18 14:59:34.585143,2,0,0,2,1,1,0
2020-06-18 14:59:38.302183,2,0,0,2,1,0,1
..
..
2020-06-18 15:04:11.529016,1,0,0,1,0,0,0
2020-06-18 15:04:11.874480,1,0,0,1,0,0,0
2020-06-18 15:04:12.213976,1,0,0,1,0,0,0
我正在使用node-csv 包阅读它并将其发送到基于Angular 的前端,以便稍后使用ChartJS 在图表上绘制。
由于数据的密度(每秒),图表看起来很难看。
我希望对 CSV 中的数据进行四舍五入,这应该是-
- 从最近一次输入的最后 6 小时开始。
- 应将 CSV 中的 a、b、c、d... 的相应值汇总到 30 分钟。
【问题讨论】:
-
这是一个过滤问题。解决方案是查找最近 6 小时内的所有记录并提供服务。 csv 文件处于读取静态的位置。这意味着您希望将该数据转换为 JSON 或数组表示。从那里它只是使用 array.map 语句来查找数据时间在 6 小时视图内的所有项目。 node-csv 可以用 JSON 或 Array 表示数据吗?您可能需要在 map 语句中编写正则表达式。
标签: node.js angular csv node-csv-parse