用Python程序批量删除excel里面的图片

单个excel文件

读取

 # 使用xlrd读取excel文件
 wb = open_workbook(path + '/' + name)

获取每个工作表

 # 获取当前文件的工作表(sheet)list
 sheetList = wb.sheets()
 ...
 for sheet in sheetList:
 ...

修改工作表

# 修改工作表使用的是xlutils, 其实也可以用xlwt,
# 我没有用,原因:用资料上demo,demo使用的是这个,虽然demo没有跑通
from xlutils.copy import copy
...
wb = open_workbook(path + '/' + name)
...
# 复制原文件,因为原文件只能读取,不能写入数据,所以要复制得到一个可以写入数据的文件
newwb = copy(wb)
...
for row in sheet.get_rows():
    # 遍历每一行,当8列的值小于12时,就把该值改为0
    if row[0].value < 12:
        newsheet.write(index, 0, 0)
...

保存

newwb.save('./data/' + name)

文件下的excel文件

获取文件列表

 import os
 os.listdir(path)

功能如下:
在这里插入图片描述
全部代码如下:

'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# -*- coding: utf-8 -*-
from xlrd import open_workbook
from xlutils.copy import copy
import os
​
​
def editExl(path, name):
    if os.path.exists('/data'):
        os.removedirs("/data")
    # 括号里放入要读取的文件的绝对路径,相对路径也可以
    # os.getcwd() 返回当前.py文件所在的绝对路径
    # print(os.getcwd(), 'lujing')
    wb = open_workbook(path + '/' + name)
    # 获取所读取文件的第一张表单
    # sheet = wb.sheet_by_index(0)
    # 获取该表单的行数
    # s = sheet.nrows
​
​
    # 获取当前文件的工作表(sheet)list
    sheetList = wb.sheets()
    # print('sheetList', sheetList)
​
​
    # 复制原文件,因为原文件只能读取,不能写入数据,所以要复制得到一个可以写入数据的文件
    newwb = copy(wb)
    sheetIndex = 0
    for sheet in sheetList:
​
​
        # 获取可写文件的第一张表单
        newsheet = newwb.get_sheet(sheetIndex)
        # print(newsheet, newsheet.get_rows())
        index = 0
        try:
            for row in sheet.get_rows():
                # 遍历每一行,当8列的值小于12时,就把该值改为0
                # print(row)
                # print(row[0].value, '000000000000000')
                if row[0].value < 12:
                    # print('here', index)
                    newsheet.write(index, 0, 0)
                    # print('after here')
                index = index + 1
        except:
            print("aaa")
        sheetIndex = sheetIndex + 1
​
​
    mkdir('./data')
    newwb.save('./data/' + name)
​
​
def mkdir(path):
    folder = os.path.exists(path)
    if not folder:
        os.makedirs(path)
        print('--- folder mk ---')
    else:
        print('--- folder exists ---')
​
​
def getFileList(path):
    return os.listdir(path)
​
​
def editAll():
    originPath = './origin'
    fileList = getFileList(originPath)
    # print(fileList)
    for fileItem in fileList:
        editExl(originPath, fileItem)
editAll()
posted @   I'm_江河湖海  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示