javascript - 如何在每组 CSV 文件中仅保留 100 个最新条目

标签 javascript python csv

我有一个应用程序,需要测量每个设备的基于时间戳的参数值。这些信息是高度结构化的,我没有查看数据库的原因是因为我必须每隔几分钟获取 100 x 1000 = 100k 行的所有数据。我想删除每组中最早的时间戳对应的数据。我使用 Python 进行编程,但甚至 JavaScript 也可以。我在Python CSV官方模块中找不到limit参数。非常感谢您的帮助。

Item 1
Timestamp, parameter1, parameter2...parameterN
...
100 rows
Item 2
Timestamp, parameter1, parameter2...parameterN
...
100 rows
...1000 items

注意:没有标题来分隔任何行,项目 1,2 等仅出于代表性目的而显示。

我需要能够每隔几分钟在每个组下添加新行,并删除旧行,有效地将每组的数字保持在 100

最佳答案

没有 limit 参数,因为读取器只是一个迭代器,Python 有通用方法可以用任何迭代器执行您可能想要执行的任何操作。

with open(path) as f:
    r = csv.reader(f)

前 100 名:

itertools.islice(r, 100)

最后 100 条:

collections.deque(r, maxlen=100)

第三列最多 100 个:

heapq.nlargest(100, r, key=operator.itemgetter(2))

...等等。

关于javascript - 如何在每组 CSV 文件中仅保留 100 个最新条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49827677/

相关文章:

javascript - Chrome 扩展程序在浏览器操作上注入(inject) javascript 和 Angular 被点击

javascript - 如何退出 HTML 中的 javascript/node.js

javascript - 从客户端的 mongo _id 中提取日期

java - 将csv文件读取到arraylist对象

java - 使用 weka jar 将 csv 转换为 arff 时出错

javascript - Android 新闻应用程序是如何构建的,可以在新新闻出现时立即更新?

python - Mock() 函数在 django2 中给出 TypeError

python - 将 Excel xml 读取到字典

python - 多个相同的标签名称和 lxml.objectify

python - 写入 csv 时出现错误 : _csv. 错误:需要序列