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

使用pd.to_csv导出CSV时如何保留timestamp列的时间戳格式

问题原因

CSV属于纯文本文件格式,本身不存储任何数据类型信息。你遇到的timestamp列被识别为数值类型的问题,本质是to_csv写入时未指定时间序列化规则,datetime类型被序列化为了Unix时间戳数值,而非格式化的时间字符串。

解决方法

调用pd.to_csv()时通过date_format参数指定时间输出格式即可,示例代码如下:

import io
import pandas as pd
import datetime

# 构造示例DataFrame
df = pd.DataFrame([
    (0, 4, datetime.datetime.strptime("2021-11-03 14:32:13.402", "%Y-%m-%d %H:%M:%S.%f")),
    (1, 34, datetime.datetime.strptime("2021-11-03 18:42:12.602", "%Y-%m-%d %H:%M:%S.%f"))
], columns=['prodid', 'value', 'timestamp'])

io_buff = io.StringIO()
# 写入时指定date_format参数,可按需调整时间格式
df.to_csv(io_buff, sep='\t', header=False, index=False, date_format='%Y-%m-%d %H:%M:%S.%f')

如果你有多个时间列需要配置不同的格式,也可以提前将datetime列通过dt.strftime转换为指定格式的字符串列后再写入:

# 手动转换时间列格式
df['timestamp'] = df['timestamp'].dt.strftime('%Y-%m-%d %H:%M:%S')
df.to_csv(io_buff, sep='\t', header=False, index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 17:54:03