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

如何使用pd.to_datetime将带横杠的日期字符串转为datetime格式?

解决pandas日期字符串转换错误的方法

你的问题出在日期格式指令使用错误,pandas的pd.to_datetime遵循Python的strftime格式规则,你用的%M、%D、%h都是不符合需求的错误指令:

  • %M代表分钟,不是月份;月份正确指令是%m
  • %D是%m/%d/%y的缩写格式,不能单独表示日期;日期正确指令是%d
  • %h是12小时制的月份缩写(比如Jan),24小时制的小时正确指令是%H

方法1:修正你原有的拆分思路

拆分后的字符串格式为2022-12-16 16-48-47,对应正确的格式指令是%Y-%m-%d %H-%M-%S,代码如下:

import pandas as pd

string = "2022-12-16T16-48-47"
date, hour = string.split("T")
string = date + " " + hour

# 使用正确的格式指令转换
dt = pd.to_datetime(string, format="%Y-%m-%d %H-%M-%S")
print(dt)
# 输出:2022-12-16 16:48:47

方法2:更简洁的直接转换(无需拆分字符串)

直接针对原字符串2022-12-16T16-48-47指定格式,一步完成转换:

import pandas as pd

string = "2022-12-16T16-48-47"
dt = pd.to_datetime(string, format="%Y-%m-%dT%H-%M-%S")
print(dt)
# 输出:2022-12-16 16:48:47

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 12:55:19