VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • 用Python程序批量删除excel里面的图片

前言

文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者: Rhinoceros

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

note.youdao.com/notesha

单个excel文件

读取

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

获取每个工作表

# 获取当前文件的工作表sheetlist
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)

功能如下:

全部代码如下:

# -*- 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


    # 获取当前文件的工作表sheetlist
    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()


相关教程