用outtime减去intime后计算出的costtime在导出的excel中不是时间格式,要如何转换?
最后导出的excel如何只显示cuslot、intime、outtime、costtime这四项?
望解答!!
那不就是相差的天数吗
import pandas as pd
import numpy as np
def fun(seri):
d = (seri['outTime'] - seri['inTime'])
x1,y1 = divmod(d.seconds, 3600)
x2, y2 = divmod(y1, 60)
return f"{x1+d.days*24:02}:{x2:02}:{y2:02}"
data = [[101, 2363, '2022-06-22 15:17:39', '2022-06-21 15:17:39'],
[101, 2233, '2022-07-06 13:37:10', '2022-07-06 13:37:50'],
[102, 3978, '2022-07-08 10:35:34', '2022-07-08 18:16:08'],
[102, 1382, '2022-07-08 18:16:34', '2022-07-11 18:21:51'],]
df = pd.DataFrame(data=data, columns=['code', 'mv', 'inTime', 'outTime'],)
df['inTime'] = df['inTime'].astype(np.datetime64)
df['outTime'] = df['outTime'].astype(np.datetime64)
df['costTime'] = df.apply(fun, axis = 1)
print(df)
"""--result
code mv inTime outTime costTime
0 101 2363 2022-06-22 15:17:39 2022-06-21 15:17:39 -24:00:00
1 101 2233 2022-07-06 13:37:10 2022-07-06 13:37:50 00:00:40
2 102 3978 2022-07-08 10:35:34 2022-07-08 18:16:08 07:40:34
3 102 1382 2022-07-08 18:16:34 2022-07-11 18:21:51 72:05:17
"""