当前位置:首页 >> 脚本专栏

利用python对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

0.导入库

import numpy as np
import pandas as pd
import time

1. 读取数据

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

2. 思路:将此列数据提取出来,存为列表,再更改格式,再放回表格中

#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['交期']

3. 输出至新的文件

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

补充知识:python 在excel文件中写入date日期数据,如何显示为日期格式而不是数字

我就废话不多说了,大家还是直接看代码吧~

dateFormat = xlwt.XFStyle()

dateFormat.num_format_str = 'yyyy/mm/dd'

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

以上这篇利用python对excel中一列的时间数据更改格式操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。