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

Pandas Python:移除日期字段末尾0:00时间戳求助

解决Pandas转换XLSX到CSV时移除日期后的0:00时间部分

嘿,刚接触Pandas和Python是吧?别担心,这个日期格式的问题超常见,我来给你几个简单的解决办法!

从你给出的数据和代码片段来看,问题出在Excel里的日期被读取成了带时间的datetime格式,转CSV时就带出了0:00。咱们只需要把这些日期列处理成仅保留日期部分就行,具体步骤如下:

方法一:读取Excel时直接解析并格式化日期

这种方法最高效,在读取阶段就处理好日期:

import pandas as pd

# 读取Excel,把包含日期的列(按索引指定,比如你的数据里是第5、8、9、11列,从0开始计数)解析为datetime
df = pd.read_excel('你的输入文件.xlsx', parse_dates=[5, 8, 9, 11])

# 把这些日期列格式化为你想要的日期字符串(比如MM/DD/YYYY)
date_column_indices = [5, 8, 9, 11]
for idx in date_column_indices:
    df.iloc[:, idx] = df.iloc[:, idx].dt.strftime('%m/%d/%Y')

# 保存为CSV,去掉索引列
df.to_csv('你的输出文件.csv', index=False)

方法二:先读取数据,再批量处理日期列

如果你不确定日期列的索引,或者更习惯用列名操作,可以试试这个:

import pandas as pd

df = pd.read_excel('你的输入文件.xlsx')

# 先确认日期列的名称,你可以先运行print(df.columns)查看所有列名
date_column_names = ['列名1', '列名2', '列名3', '列名4']  # 替换成你实际的日期列名

# 把这些列转换为datetime类型
df[date_column_names] = df[date_column_names].apply(pd.to_datetime)

# 格式化为仅日期的字符串
df[date_column_names] = df[date_column_names].apply(lambda x: x.dt.strftime('%m/%d/%Y'))

# 保存CSV
df.to_csv('你的输出文件.csv', index=False)

小提示:

  • 如果你想要的日期格式是DD/MM/YYYY(日/月/年),只需要把strftime里的格式改成'%d/%m/%Y'就行。
  • 运行代码前可以先用df.head()查看数据,确认日期列的位置或名称是否正确,避免搞错列哦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:17:27