前言

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

作者: Rhinoceros

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

http://note.youdao.com/noteshare?id=3054cce4add8a909e784ad934f956cef

单个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)

功能如下:

全部代码如下:

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

用Python程序批量删除excel里面的图片的更多相关文章

  1. 批量删除Excel里面的换行符

    关于批量删除excel里面的换行符,应该说写程序的遇上excel大体都会有这么个问题,在解决这个问题前,我的解决办法是把excel 的数据全部复制到txt里面, 因为操作txt比操作excel更为简单 ...

  2. ArcGis Python脚本——批量删除字段

    注意,ArcGis中shp属性表至少要保留除OID(FID).Shape之外的1个字段. 例:批量删除“省级行政区域”除“FID”.“Shape”.“Area”之外的字段. import arcpy ...

  3. 使用python脚本批量删除阿里云oss中的mp4文件

    #encoding:utf-8 ''' oss中有一些mp4文件需要删除,首先定位出这些文件放在txt文本中 然后通过python操作oss进行批量删除 ''' import oss2 auth = ...

  4. python 作业 批量读取excel文件并合并为一张excel

    1 #!/usr/bin/env python 2 # coding: utf-8 3 4 def concat_file(a,b): 5 #如何批量读取并快速合并文件夹中的excel文件 6 imp ...

  5. Python/Django 批量下载Excel

    一.前提 项目上需求的变更总是时时发生的,应对需求的我们,也只能变更我们代码,所以.继前两篇之后,我们的批量下载诞生了 二.安装 本文使用zipstream库进行压缩,安装方式:pip install ...

  6. Python批量删除mysql中千万级大量数据

    场景描述 线上mysql数据库里面有张表保存有每天的统计结果,每天有1千多万条,这是我们意想不到的,统计结果咋有这么多.运维找过来,磁盘占了200G,最后问了运营,可以只保留最近3天的,前面的数据,只 ...

  7. 涛哥的Python工具箱之批量删除含指定字符串行

    我们在软件研发中不可避免的要用到大量的反复性的繁琐的工作,比如批量改动代码中接口的字符串.批量下载文件并又一次按规则命名.这些工作人工做特别累,尤其是对我这样的懒人来说. 对于一个出色的程序猿来说,反 ...

  8. 用python批量处理Excel表格,处理结果又快又好,做办公室最靓的那个仔

    使用python批量处理Excel数据     让你根据Excel上所有人的身份证号码,提取出公司员工的生日 让你每个月都将公司所有人的考勤数据整理一下 类似这样的格式化的重复操作,你还在每次都使用的 ...

  9. Python批量删除指定目录下的指定类型的文件

    Python作为一种脚本语言.其很适合文件级的各种操作.以下的代码能够批量删除指定目录下的所有特定类型(CSV类型)的文件. import sys, csv , operator import os ...

随机推荐

  1. IT兄弟连 HTML5教程 CSS3揭秘 小结及习题

    小结 CSS3对于开发者来说,给web应用带来了更多的可能性,极大提高了开发效率.CSS3在选择器上的支持可谓是丰富多彩,使得我们能够灵活的控制样式,而不必为元素进行规范化的命名.CSS3支持的动画类 ...

  2. node 升级版本

    1.安装 更新node.js版本 命令 [root@node ~]# npm install -g n /home/meisapp/node/node-v6.10.0-linux-x64/bin/n ...

  3. Python time.time()方法

    描述 Python time time()返回当前时间的时间戳. 时间戳:时间戳是指格林威治时间1970年01月01日00时00分00秒(背景时间1970年01月01日08时00分00秒)起至现在的总 ...

  4. Java中String直接赋字符串和new String的一些问题

    今天课堂测试做了几道String的练习题,做完直接心态爆炸...... 整理自下面两篇博客: https://www.cnblogs.com/marsitman/p/11248001.html htt ...

  5. Java实战|Tomcat+Servlet+Sql开发简单网站,从配置环境开始

    课题描述: Java实验五 Servlet (继续使用实验四中创建的students数据库和其中的scores表) 使用Tomcat作为Web服务器和Servlet容器,使用SQL Server/My ...

  6. Java哲学家进餐问题|多线程

    Java实验三 多线程 哲学家进餐问题: 5个哲学家共用一张圆桌,分别坐在周围的5张椅子上, 在圆桌上有5个碗和5只筷子(注意是5只筷子,不是5双), 碗和筷子交替排列.他们的生活方式是交替地进行思考 ...

  7. 洛谷 P3373 【模板】线段树 2

    洛谷 P3373 [模板]线段树 2 洛谷传送门 题目描述 如题,已知一个数列,你需要进行下面三种操作: 将某区间每一个数乘上 xx 将某区间每一个数加上 xx 求出某区间每一个数的和 输入格式 第一 ...

  8. Vue 修饰符once的方法使用

    once:只执行一次 代码: <!doctype html> <html lang="en"> <head> <meta charset= ...

  9. Spring Cloud Zuul 那些你不知道的功能点

    本文摘自于 <Spring Cloud微服务 入门 实战与进阶> 一书. 1. /routes 端点 当@EnableZuulProxy与Spring Boot Actuator配合使用时 ...

  10. 完美解决MacOS catalina 升级后Vmware黑屏的问题

    完美解决MacOS catalina 升级后VMware黑屏 1.关闭MacOS的rootless机制 #Rootless机制将成为对抗恶意程序的最后防线 1.尝试关闭Rootless,重启按住 Co ...