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

如何使用Python Pandas正确转换API返回的日期格式?

问题根因

你拿到的整数字段是秒级Unix时间戳,pd.to_datetime()默认处理整数类型输入时,会将数值识别为纳秒级时间戳,单位不匹配就会输出完全偏离实际的异常日期。你给出的样例值1657762387实际对应2022-07-14的时间点,不指定单位直接转换会得到1970年附近的错误结果。
顺带提一句,你示例代码里的列名存在拼写偏差,常规列名拼写是column,如果你的数据集里列名本身就叫colum可忽略这个提示。

正确转换代码

调用转换方法时显式指定unit='s'参数,明确告知pandas输入值的时间单位是秒,即可得到正确结果:

import pandas as pd

df['colum'] = pd.to_datetime(df['colum'], unit='s')
常见适配场景
  • 如果API返回的是13位长度的毫秒级时间戳,把unit参数值改为'ms'即可;如果是微秒级时间戳就用'us'
  • 如果转换后需要匹配国内东八区时区,可以追加时区转换逻辑:
# 转换为北京时间的示例
df['colum'] = pd.to_datetime(df['colum'], unit='s')\
    .dt.tz_localize('UTC')\
    .dt.tz_convert('Asia/Shanghai')

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 14:24:21