在Pandas中转换Salesforce的yyyy-mm-ddThh:mm:ss.000+0000格式为日期/时间
用Pandas直接解析Salesforce的yyyy-mm-ddThh:mm:ss.000+0000格式日期
不用做字符串替换,Pandas的pd.to_datetime()原生支持解析这种标准ISO 8601格式的日期字符串,包括中间的T分隔符、毫秒后缀和时区偏移+0000。
核心解决方案
直接调用pd.to_datetime()处理目标列即可:
import pandas as pd # 处理为带时区的datetime格式 result['CreatedDate'] = pd.to_datetime(result['CreatedDate'])
衍生需求处理
如果只需要日期部分(不带时间):
# 转换为纯日期格式(仅年月日) result['CreatedDate_DateOnly'] = pd.to_datetime(result['CreatedDate']).dt.date
如果不需要保留时区信息(转成无时区的naive datetime):
# 移除时区,得到无时区的datetime类型 result['CreatedDate_Naive'] = pd.to_datetime(result['CreatedDate']).tz_localize(None)
为什么比字符串替换更好
- 代码更简洁,没有冗余的字符串操作
- 原生支持ISO 8601标准,能正确识别毫秒和时区,避免手动替换可能出现的格式错误
- 性能更优,Pandas的日期解析是底层优化过的,比循环做字符串替换快得多
内容的提问来源于stack exchange,提问作者user3408245
相关产品推荐
相关产品推荐

