时长超过24小时时如何从Excel导入时长数据

问题描述 投票:0回答:1

如何从Excel导入数据?

|总时间 | | 6:27:53 | 6:27:53 | 68:22:26 | 68:22:26 | 171:58:44 |

当我将此数据导入 Pandas 时,它会返回此结果。 0 06:27:53 1 1900-01-02 20:22:26 2 1900-01-07 03:58:44

并且不知道如何更改格式。

我尝试在导入数据时将格式更改为字符串。

pd.read_excel('data.xlsx', dtype={'Total time':'str') 

并且具有相同的结果,并且无法将格式更改为 datetime.timedelta

python pandas excel time-series
1个回答
0
投票

如果 Excel 中有日期时间/日期对象,最简单的方法可能是作为字符串导入,在缺少时添加参考日期,转换

to_datetime
并减去参考:

df = pd.read_excel('data.xlsx', dtype={'Total time': 'str'})

ref = '1900-01-01 '

df['timedelta'] = pd.to_datetime(df['Total time']
                                 .where(df['Total time'].str.match('\d{4}-\d{2}-\d{2}'),
                                        ref+df['Total time'])
                                ).sub(pd.Timestamp(ref))

输出:

            Total time       timedelta
0             06:27:53 0 days 06:27:53
1  1900-01-02 20:22:26 1 days 20:22:26
2  1900-01-07 03:58:44 6 days 03:58:44
© www.soinside.com 2019 - 2024. All rights reserved.