例如:
只要年或者月
代码如下:
def nian():
import openpyxl
from datetime import datetime
# 打开Excel文件
wb = openpyxl.load_workbook('D:\yewu\student.xlsx') # 文件名因人而异
# 选择工作表
sheet = wb['Sheet1'] # 如果有多个工作表就写一个列表添加一个循环遍历
# 遍历每一行
for i, row in enumerate(sheet.iter_rows(min_row=2, values_only=True), 2):#从哪行开始读
# 之所以从第二行开始是因为第一行可能是一些变量名什么的,具体情况具体分析
# 如果第一列的值符合要求,则将第一列的值转换为datetime对象,并修改为年-月-日的格式
if isinstance(row[0], str) and '-' in row[0]:#记得修改所在列
date_range = row[3].split('-') # 从"至"开始分割,后面的内容就不要了,从哪行开始分割
start_date = datetime.strptime(date_range[0], '%Y')#分割的第一个
sheet.cell(row=i, column=0).value = start_date.strftime('%Y')修改列
# 保存修改
wb.save('D:\yewu\student.xlsx')
def yue():
import openpyxl
from datetime import datetime
# 打开Excel文件
wb = openpyxl.load_workbook('D:\yewu\student.xlsx') # 文件名因人而异
# 选择工作表
sheet = wb['Sheet1'] # 如果有多个工作表就写一个列表添加一个循环遍历
# 遍历每一行
for i, row in enumerate(sheet.iter_rows(min_row=2, values_only=True), 2):#从哪行读
# 之所以从第二行开始是因为第一行可能是一些变量名什么的,具体情况具体分析
# 如果第一列的值符合要求,则将第一列的值转换为datetime对象,并修改为年-月-日的格式
if isinstance(row[0], str) and '-' in row[0]:#记得修改所在列
date_range = row[3].split('-') # 从"至"开始分割,后面的内容就不要了,从哪行开始分割
start_date = datetime.strptime(date_range[1], '%m')#分割的第二个
sheet.cell(row=i, column=1).value = start_date.strftime('%m')#修改列
# 保存修改
wb.save('D:\yewu\student.xlsx')