Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将PHP转换为Python:查找每个标识符的最小和最大时间_Php_Python_Timestamp - Fatal编程技术网

将PHP转换为Python:查找每个标识符的最小和最大时间

将PHP转换为Python:查找每个标识符的最小和最大时间,php,python,timestamp,Php,Python,Timestamp,我正在将一些php代码翻译成Python。这两方面我都不是专家。这可能是很多,但如果您能提供一点帮助,我们将不胜感激 我特别难以处理这段代码。这里,我们有一个identifer identifer,即行[0]行[1]行[2]。第[4]行是时间戳。对于每个标识符,我们希望找到“开始”和“结束”日期——按照您的想法命名。这是一位同事编写代码的方式:我添加了注释,因为我了解发生了什么,但不知道如何将其转换为Python 到目前为止,在Python中,我已经能够创建一个标识符的字典:timestamp,

我正在将一些php代码翻译成Python。这两方面我都不是专家。这可能是很多,但如果您能提供一点帮助,我们将不胜感激

我特别难以处理这段代码。这里,我们有一个identifer identifer,即行[0]行[1]行[2]。第[4]行是时间戳。对于每个标识符,我们希望找到“开始”和“结束”日期——按照您的想法命名。这是一位同事编写代码的方式:我添加了注释,因为我了解发生了什么,但不知道如何将其转换为Python

到目前为止,在Python中,我已经能够创建一个标识符的字典:timestamp,但是在问题的这一部分,我还没有成功地利用它

问题: -在这个例子中,我是否遗漏了一些关于Python的非常明显和有用的东西? -我可以在任何地方找到易于理解的PHP到Python规则的映射(如果存在)

}

对于上下文,以下是我尝试复制的过程:

identify endpoints of time<br>
starttime<br>
endtime<br>
create 15 minute time vector while : startime < time < endtime<br>

可能对您有用的是
time.strptime(string[,format])
返回的包内时间
struct\u time
。它是一个命名的元组

要演示的小代码:

import time
fifth_element_of_row = "2000-12-31 23:11:12"
my_time_struct = time.strptime(fifth_element_of_row, "%Y-%m-%d %H:%M:%S")
print my_time_struct
它产生输出:

time.struct_time(tm_year=2000, tm_mon=12, 
tm_mday=31, tm_hour=23, tm_min=11, tm_sec=12, 
tm_wday=6, tm_yday=366, tm_isdst=-1)
可通过以下方式从中恢复单个元素:

print my_time_struct.tm_year
哪个输出

2000
编辑:当我看到日期片段时,我就匆匆忙忙地看了一遍。令人惊讶的是,现在还没有其他人回答,所以我将试着给你加点甜头

我个人可能只是为csv做了file.readline()和re.split(),因为我有一种DIY'er的倾向(或者NIH'er,取决于你想如何给它上色…)

通过一些研究,我刚刚了解到python专门有一个csv模块来处理这种情况。它从2.3开始就存在了,而且肯定比自己做的更健壮。算了吧

供您阅读的资料来源:


可能对您有用的是由
time.strtime(string[,format])
返回的包时间中的
struct\u time
。它是一个命名的元组

要演示的小代码:

import time
fifth_element_of_row = "2000-12-31 23:11:12"
my_time_struct = time.strptime(fifth_element_of_row, "%Y-%m-%d %H:%M:%S")
print my_time_struct
它产生输出:

time.struct_time(tm_year=2000, tm_mon=12, 
tm_mday=31, tm_hour=23, tm_min=11, tm_sec=12, 
tm_wday=6, tm_yday=366, tm_isdst=-1)
可通过以下方式从中恢复单个元素:

print my_time_struct.tm_year
哪个输出

2000
编辑:当我看到日期片段时,我就匆匆忙忙地看了一遍。令人惊讶的是,现在还没有其他人回答,所以我将试着给你加点甜头

我个人可能只是为csv做了file.readline()和re.split(),因为我有一种DIY'er的倾向(或者NIH'er,取决于你想如何给它上色…)

通过一些研究,我刚刚了解到python专门有一个csv模块来处理这种情况。它从2.3开始就存在了,而且肯定比自己做的更健壮。算了吧

供您阅读的资料来源:


第三方dateutil模块(您需要先安装,请参阅)可能会有所帮助:

import dateutil.parser
# ...
endpoints[someindex] = dateutil.parser.parse(row[4])
它很容易从Python的内置datetime模块中获得datetime,可用于进一步的计算


根据您的问题,可能需要时区。详细信息请阅读。

第三方dateutil模块(您需要先安装,请参阅)可能会有所帮助:

import dateutil.parser
# ...
endpoints[someindex] = dateutil.parser.parse(row[4])
它很容易从Python的内置datetime模块中获得datetime,可用于进一步的计算


根据您的问题,可能需要时区。详细信息请阅读。

谢谢!我意识到我应该添加我一直在使用的代码,但知道到目前为止我一直在做正确的事情,这让我松了一口气。谢谢!我意识到我应该添加我一直在使用的代码,但知道到目前为止我一直在做正确的事情,这让我松了一口气。