利用Python修改Excel中日期列格式的方法

落日邮差
落日邮差
发布时间:2026-10-14| 4人浏览过
原创

本文介绍如何使用Python和pandas库批量修改Excel文件中特定日期列的格式。通过提取原始时间数据,利用time模块将其转换为“年/月/日”格式,并写入新文件,实现从“YYYY-MM-DD HH:MM:SS”到“YYYY/MM/DD”的格式转换,适用于数据清洗和报表标准化场景。

问题场景与数据示例

在处理Excel数据时,经常遇到需要将某一列的时间数据格式进行统一调整的情况。例如,目标是将“交期”这一列的数据格式更改为“2019/05/10”这种标准日期格式。

原始数据包含存货编码、尺寸、数量及交期等字段,具体示例如下:

存货编码 尺寸 数量 交期 0 K10Y0190000X B140 200 2019-05-10 00:00:00 1 K10Y0190000X B150 200 2019-05-10 00:00:00 2 K10Y0190000X B165 100 2019-05-10 00:00:00 3 K10Y0190000X B175 300 2019-05-10 00:00:00 4 K10Y0190000X B180 200 2019-05-10 00:00:00 5 K10B02400000 B130 400 2019-06-30 00:00:00 6 K10B02400000 B140 200 2019-06-30 00:00:00 7 K10B02400000 B170 800 2019-06-30 00:00:00 8 K10B02400000 B180 400 2019-06-30 00:00:00 9 K10B02400123 B120 100 2019-06-20 00:00:00

环境准备与数据读取

首先需要导入必要的Python库,包括numpy、pandas以及time模块,以便进行数据处理和时间格式转换。


import numpy as np
import pandas as pd
import time

接着,读取Excel文件中的数据。假设文件路径为'C:\Users\yys\Desktop\请购单.xlsx',使用pandas读取并创建DataFrame对象。

df=pd.DataFrame(pd.read_excel('C:\\Users\\yys\\Desktop\\请购单.xlsx'))

日期格式转换逻辑

核心思路是将目标列的数据提取出来,转换为列表格式,进行格式修改后,再重新赋值回DataFrame中。具体操作包括遍历“交期”列,将每个时间字符串解析并重新格式化为“年/月/日”的形式。


#for循环选出需要数据,存为列表
t_list=[]
for i in df['交期']:
	i=str(i)
	t1=time.strptime(i,"%Y-%m-%d %H:%M:%S")
	t2=time.strftime("%Y/%m/%d",t1)
	t_list.append(t2)

#将列表添加进原本的表格数据中
df['交货日期']=t_list

#删除原本的日期
del df['交期']

结果输出与验证

处理完成后,将结果输出至一个新的Excel文件中,以保留原始数据不变。

df4.to_excel('E:\\yys\\请购单_new.xlsx')

执行上述操作后,数据已成功更改。新的数据表头中,“交期”列已更名为“交货日期”,且格式已更新。

更新后的数据包含存货编码、尺寸、数量及交货日期,具体示例如下:

存货编码 尺寸 数量 交货日期 0 K10Y0190000X B140 200 2019/05/10 1 K10Y0190000X B150 200 2019/05/10 2 K10Y0190000X B165 100 2019/05/10 3 K10Y0190000X B175 300 2019/05/10 4 K10Y0190000X B180 200 2019/05/10 5 K10B02400000 B130 400 2019/06/30 6 K10B02400000 B140 200 2019/06/30 7 K10B02400000 B170 800 2019/06/30 8 K10B02400000 B180 400 2019/06/30 9 K10B02400123 B120 100 2019/06/20 10 K10B02400123 B140 100 2019/06/20

Excel写入日期格式技巧

补充知识:在使用Python向Excel文件中写入date日期数据时,如何确保其显示为日期格式而不是数字?

以下代码展示了如何在写入Excel时应用日期格式样式,避免显示为序列号。


dateFormat = xlwt.XFStyle()

dateFormat.num_format_str = 'yyyy/mm/dd'

worksheet.write(0, 0, dt.date.today(),dateFormat)

以上介绍的方法可以帮助开发者快速处理Excel中的日期格式问题,希望对相关技术实践有所帮助。

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。