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

Pandas导出CSV时datetime列仅显示日期或时间,如何同时显示二者

Pandas导出CSV时Time列显示完整日期时间的解决方法

问题原因梳理

  • 示例2、3的问题很明确:你调用了.dt.date/.dt.time方法,直接将datetime类型拆分为了只有日期/只有时间的对象,天然丢失了另一部分信息,导出自然不会显示完整内容。
  • 示例1的问题是Pandas to_csv方法的默认逻辑导致:如果datetime列的所有行的时间部分均为00:00:00,Pandas会自动省略时间部分,仅导出日期。

解决方法

方法1:导出时指定日期格式(推荐)

在调用to_csv时添加date_format参数,强制指定datetime列的输出格式即可:

posix_time = pd.to_datetime(df['Time'], unit='ms')
df['Time'] = posix_time
# 导出时指定日期时间格式
df.to_csv(r'dataframe.csv', index=False, header=True, date_format='%Y-%m-%d %H:%M:%S')

方法2:提前转成固定格式的字符串

也可以提前将Time列转成符合要求的字符串格式,避免Pandas自动调整格式:

posix_time = pd.to_datetime(df['Time'], unit='ms')
# 转成自定义格式的字符串
df['Time'] = posix_time.dt.strftime('%Y-%m-%d %H:%M:%S')
df.to_csv(r'dataframe.csv', index=False, header=True)

注意事项

如果导出后用Excel打开CSV文件,仍只显示日期,属于Excel的默认显示逻辑问题,并非导出失败:右键Time列的单元格 → 选择「设置单元格格式」→ 自定义格式输入yyyy-mm-dd hh:mm:ss即可看到完整的日期时间内容。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:54:07