You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用pandas读取包含24:00而非00:00时间格式的CSV文件

错误原因

你的报错核心是硬切片逻辑不匹配字段格式:
你采用固定下标拆分日期和时间,但Datetime字段值前后、日期和时间之间都存在空格,str[10:12]、str[12:14]实际切取到了空格、冒号等无效字符,拼接后生成的 0:0::00不符合时间差格式要求,触发报错。

修复方案

方案1(更鲁棒,推荐)

用字符串分割替代硬切片,自动适配空格、字段长度波动的场景:

# 去除字段前后空格后拆分日期、时间两部分
dt_parts = df['Datetime'].str.strip().str.split(' ', n=1, expand=True)
# 转换日期部分
date = pd.to_datetime(dt_parts[0], format='%d.%m.%Y')
# 直接转换时间部分为时间差,自动适配24:00的特殊情况
time_delta = pd.to_timedelta(dt_parts[1] + ':00')
# 合并得到最终时间
df['Datetime'] = date + time_delta

方案2(适配你原有逻辑)

先清理字符串空格,修正切片规则即可:

dt_clean = df['Datetime'].str.strip()
df['Datetime'] = (
    pd.to_datetime(dt_clean.str[:10], format='%d.%m.%Y') 
    + pd.to_timedelta(dt_clean.str[11:] + ':00')
)

以上两种方案都可以正确识别24:00格式,自动转换为次日00:00,不会出现格式报错。

内容的提问来源于stack exchange,提问作者user16511234

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:18:02