gpt4 book ai didi

Python 搜索字符串时间戳以返回数据值

转载 作者:太空宇宙 更新时间:2023-11-03 17:58:16 34 4
gpt4 key购买 nike

我对编程相当陌生,手上有一个益智游戏。我正在使用 Python 代码尝试搜索一个文本文件,该文件的时间戳是一个字符串以及另一个数据值。我试图将搜索限制为 + 或 - 3 分钟,以便搜索的时间戳将使用文本文件中最接近的时间戳并返回与时间戳关联的数据值。
以下是正在搜索的文本文件的示例:

2014/05/01 00:00 -0.075                           
2014/05/01 00:06 -0.056
2014/05/01 00:12 -0.037
2014/05/01 00:18 -0.017
2014/05/01 00:24 0.002
2014/05/01 00:30 0.021
2014/05/01 00:36 0.040
2014/05/01 00:42 0.061
2014/05/01 00:48 0.081
2014/05/01 00:54 0.102
2014/05/01 01:00 0.124
2014/05/01 01:06 0.146
2014/05/01 01:12 0.168

到目前为止我编写的代码是:

with open(TEXTFILE,'r') as searchfile:
for line in searchfile:
x = line.split(' ',2)
if DateVariable == x[0]:
if TimeVariable == x[1]:
print x[2]
break
else:
print 'No timestamp match was found.'

这段代码有效,但仅在搜索与用户输入完全匹配的时间戳时有效。我不知道如何解决 + 或 - 3 分钟限制搜索。预先感谢您!

最佳答案

您可以尝试这样的操作,假设您的 TimeVariable 也采用相同的格式,这似乎是一个合理的假设:

TimeFields = TimeVariable.split(':')
TimeInMinutes = int(TimeFields[0]) * 60 + int(TimeFields[1])

with open(TEXTFILE,'r') as searchfile:
for line in searchfile:
x = line.split(' ',2)
if DateVariable == x[0]:
TestFields = x[1].split(':')
EntryTime = int(TestFields[0]) * 60 + int(TestFields[1])

TimeDelta = EntryTime - TimeInMinutes

if -3 <= TimeDelta <= 3:
print x[2]
break
else:
print 'No timestamp match was found.'

您需要在午夜左右(或中午左右,如果是 12 小时制的话)的 6 分钟内添加一些额外的逻辑,但这应该不难添加。 ..

关于Python 搜索字符串时间戳以返回数据值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28178314/

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