gpt4 book ai didi

python - 解析纯文本文件中的时间戳并每 5 分钟间隔计数一次

转载 作者:行者123 更新时间:2023-11-30 23:51:56 25 4
gpt4 key购买 nike

我的输入是一个包含 6,000 个时间戳的纯文本文件,如下所示

2011-06-21 13:17:05,905
2011-06-21 13:17:11,371
2011-06-21 13:17:16,380
2011-06-21 13:17:20,074
2011-06-21 13:17:20,174
2011-06-21 13:17:24,749
2011-06-21 13:17:27,210
2011-06-21 13:17:27,354
2011-06-21 13:17:29,231
2011-06-21 13:17:29,965
2011-06-21 13:17:32,100
2011-06-21 13:17:32,250
2011-06-21 13:17:45,482
2011-06-21 13:17:51,998
2011-06-21 13:18:03,037
2011-06-21 13:18:04,504
2011-06-21 13:18:10,019
2011-06-21 13:18:27,434
2011-06-21 13:18:29,960
2011-06-21 13:18:30,525
...

我的输出应该是一个 CSV 文件,计算从“整小时”开始的每个 5 分钟时段之间找到的行数

示例输出:

From, To, Count
13:00:00, 13:04:59, 0
13:05:00, 13:09:59, 0
13:10:00, 13:14:59, 19
13:15:00, 13:19:59, 24
...

谢谢!

最佳答案

这未经测试,您必须自己实现时间转换函数。您必须在时间模块中查找执行您想要的功能的函数。 Convert_time_string_to_unix_time 应该将时间字符串转换为自 1970 年 1 月 1 日以来的相应毫秒数(标准 Unix 时间戳)。

它的作用基本上是将时间划分为五分钟的时段,循环遍历所有时间戳并增加该时间戳时段的时间戳数量,对于每个找到的时间戳增加 1。然后它只是迭代所有找到的槽并将它们转换回时间戳,并打印为该槽找到的时间戳的数量。

SLOT_LENGTH = 1000 * 60 *5
for line in file:
slot = convert_time_string_to_unix_time(line) / SLOT_LENGTH
bucket[slot] = bucket.get(slot, 0) + 1

for slot in sorted(bucket.keys()):
print(
convert_unix_time_to_time_string(slot * SLOT_LENGTH),
convert_unix_time_to_time_string((slot + 1) * SLOT_LENGTH - 1),
bucket[slot]
)

关于python - 解析纯文本文件中的时间戳并每 5 分钟间隔计数一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6525434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com