如何用python批量删除excel电子表格具有规律的部分内容

具体需求看这里

先描述一下问题吧,我爸工作遇到一个问题,需求如下:
问题需求
意思是只保留前面的年月日,那么扩展到其他问题就是如何批量地删除每一行具有规律的部分内容?

这里我不太熟悉excel图形化的操作,通过查阅各种博客知道了快捷键ctrl+H可以调出excel的替换功能,并且在里面输入字符可以将其替换成空,当然也可以在选项里面选择指定的格式(不过我确实没弄出来,只弄成了以下的结果)
批量删除前

批量删除后

看到效果了吗,只删了“至”,emmm熟悉execl的大佬应该能删后面的,但是我不行,所以我只能用python代码来批量删除

借用python的力量

不多说废话直接上代码

import openpyxl
from datetime import datetime
# 打开Excel文件
wb = openpyxl.load_workbook('D:\Pycharm_project\de.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[0].split('至')#从"至"开始分割,后面的内容就不要了
        start_date = datetime.strptime(date_range[0], '%Y-%m-%d')
        sheet.cell(row=i, column=1).value = start_date.strftime('%Y-%m-%d')
# 保存修改
wb.save('D:\Pycharm_project\de.xlsx')

最重要的就是for i,row循环里面的内容,根据实际任务进行更改,思路都是一样的,只不过这里是年月日而已。

那就给大家看一下结果吧:
在这里插入图片描述

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值