安排
(原始数据)
1import pandas as pd
2import datetime
3data = pd.read_excel("工作簿1.xlsx",usecols=[i for i in range(6)])
1# 先求出现在时间,便于做时间差值
2now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
3# 转换为时间格式
4data['发生时间'] = pd.to_datetime(data['发生时间'])
5# 计算时间差值
6delta = pd.to_datetime(now) - data['发生时间']
7# 转换单位为分钟(小时,秒均可)
8data['故障发生时长(分)'] = delta.dt.days*1440 + delta.dt.seconds/60
(中间结果)
此时,虽然达到了群友的要求,但是感觉结果并不太直观。大家可以根据真实的业务场景需要进行一下格式化输出,下面的代码提供大家一种思路。
1# 为了结果更加直观,做个小小的处理
2data['故障发生时长(分)'] = data['故障发生时长(分)'].map(lambda x: str(round(x//1440)) + '天'+str(round(x % 1440)) + '分')
3data.to_excel(r"C:/Users/Administrator/Desktop/result.xlsx",index = False ,sheet_name='result')
(最终结果)