将字典列表中的秒数转换为小时数,python
convert seconds in list of dictionaries into hours, python
我正在尝试使用 python 中的 DateTime 包将我的词典列表中的秒数转换为小时数。 Eg.g 而不是 'Duration':745200(秒)我想要 'Duration':207:00:00(小时:分钟:秒)。有人可以帮助我实现这一目标吗?
谢谢!
id_duration =
[{'Id': 44, 'Duration': 745200},
{'Id': 45, 'Duration': 259200},
{'Id': 58, 'Duration': 21600},
{'Id': 61, 'Duration': 597600}]
如果您只需要几个小时,您可以尝试不使用 DateTime 包的简单方法:
[{**x, "Duration": x["Duration"] // 3600} for x in id_duration]
首先从导入包开始
import datetime
然后让我们为它定义一个函数,使用datetime.timedelta
def convert_duration(duration_list):
for i in duration_list:
i['Duration'] = datetime.timedelta(seconds=i['Duration'])
i['Duration'] = i['Duration'].total_seconds()
i['Duration'] = i['Duration'] / 3600
return duration_list
现在让我们使用您提供的示例进行测试
id_duration = [{'Id': 44, 'Duration': 745200}, {'Id': 45, 'Duration': 259200}, {'Id': 58, 'Duration': 21600}, {'Id': 61, 'Duration': 597600}]
print(convert_duration(id_duration))
[Out]: [{'Id': 44, 'Duration': 207.0}, {'Id': 45, 'Duration': 72.0}, {'Id': 58, 'Duration': 6.0}, {'Id': 61, 'Duration': 166.0}]
我正在尝试使用 python 中的 DateTime 包将我的词典列表中的秒数转换为小时数。 Eg.g 而不是 'Duration':745200(秒)我想要 'Duration':207:00:00(小时:分钟:秒)。有人可以帮助我实现这一目标吗? 谢谢!
id_duration =
[{'Id': 44, 'Duration': 745200},
{'Id': 45, 'Duration': 259200},
{'Id': 58, 'Duration': 21600},
{'Id': 61, 'Duration': 597600}]
如果您只需要几个小时,您可以尝试不使用 DateTime 包的简单方法:
[{**x, "Duration": x["Duration"] // 3600} for x in id_duration]
首先从导入包开始
import datetime
然后让我们为它定义一个函数,使用datetime.timedelta
def convert_duration(duration_list):
for i in duration_list:
i['Duration'] = datetime.timedelta(seconds=i['Duration'])
i['Duration'] = i['Duration'].total_seconds()
i['Duration'] = i['Duration'] / 3600
return duration_list
现在让我们使用您提供的示例进行测试
id_duration = [{'Id': 44, 'Duration': 745200}, {'Id': 45, 'Duration': 259200}, {'Id': 58, 'Duration': 21600}, {'Id': 61, 'Duration': 597600}]
print(convert_duration(id_duration))
[Out]: [{'Id': 44, 'Duration': 207.0}, {'Id': 45, 'Duration': 72.0}, {'Id': 58, 'Duration': 6.0}, {'Id': 61, 'Duration': 166.0}]