如何添加存储在 python 列表中的“%I:%M:%S”格式的 n 个 datetime.strptime
How can I add n number of datetime.strptime in "%I:%M:%S" format stored in a list in python
我有 n 个 datetime.strptime
项以 "%I:%M:%S"
格式存储在列表中
total_logs = ['0:00:12', '0:10:02', , , n]
如何添加它们?
我会使用 pandas
中的 Timedelta class 来做到这一点。
import pandas as pd
logs = ['0:00:12', '0:10:02']
r = pd.Timedelta(logs[0]) + pd.Timedelta(logs[1])
print(r)
输出:0 days 00:10:14
Python 的 datetime.timedelta
也可以完成这项工作,但它不能直接作用于字符串。您必须先使用 datetime.datetime.strptime
转换它们。
要对列表中的所有项目求和,您必须从一个起点开始,在下面的代码中是 r
,然后遍历列表并添加到 r
:
In [37]: r = pd.Timedelta(0)
In [38]: r
Out[38]: Timedelta('0 days 00:00:00')
In [39]: for item in logs:
...: r += pd.Timedelta(item)
...:
In [40]: print(r)
0 days 00:10:14
整个想法的一句话是:sum(map(pd.Timedelta, logs), pd.Timedelta(0))
我有 n 个 datetime.strptime
项以 "%I:%M:%S"
格式存储在列表中
total_logs = ['0:00:12', '0:10:02', , , n]
如何添加它们?
我会使用 pandas
中的 Timedelta class 来做到这一点。
import pandas as pd
logs = ['0:00:12', '0:10:02']
r = pd.Timedelta(logs[0]) + pd.Timedelta(logs[1])
print(r)
输出:0 days 00:10:14
Python 的 datetime.timedelta
也可以完成这项工作,但它不能直接作用于字符串。您必须先使用 datetime.datetime.strptime
转换它们。
要对列表中的所有项目求和,您必须从一个起点开始,在下面的代码中是 r
,然后遍历列表并添加到 r
:
In [37]: r = pd.Timedelta(0)
In [38]: r
Out[38]: Timedelta('0 days 00:00:00')
In [39]: for item in logs:
...: r += pd.Timedelta(item)
...:
In [40]: print(r)
0 days 00:10:14
整个想法的一句话是:sum(map(pd.Timedelta, logs), pd.Timedelta(0))