我有一个应用程序,需要测量每个设备的基于时间戳的参数值。这些信息是高度结构化的,我没有查看数据库的原因是因为我必须每隔几分钟获取 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/