用Python程序批量删除excel里面的图片
前言
文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。
作者: 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里面的图片的更多相关文章
- 批量删除Excel里面的换行符
关于批量删除excel里面的换行符,应该说写程序的遇上excel大体都会有这么个问题,在解决这个问题前,我的解决办法是把excel 的数据全部复制到txt里面, 因为操作txt比操作excel更为简单 ...
- ArcGis Python脚本——批量删除字段
注意,ArcGis中shp属性表至少要保留除OID(FID).Shape之外的1个字段. 例:批量删除“省级行政区域”除“FID”.“Shape”.“Area”之外的字段. import arcpy ...
- 使用python脚本批量删除阿里云oss中的mp4文件
#encoding:utf-8 ''' oss中有一些mp4文件需要删除,首先定位出这些文件放在txt文本中 然后通过python操作oss进行批量删除 ''' import oss2 auth = ...
- python 作业 批量读取excel文件并合并为一张excel
1 #!/usr/bin/env python 2 # coding: utf-8 3 4 def concat_file(a,b): 5 #如何批量读取并快速合并文件夹中的excel文件 6 imp ...
- Python/Django 批量下载Excel
一.前提 项目上需求的变更总是时时发生的,应对需求的我们,也只能变更我们代码,所以.继前两篇之后,我们的批量下载诞生了 二.安装 本文使用zipstream库进行压缩,安装方式:pip install ...
- Python批量删除mysql中千万级大量数据
场景描述 线上mysql数据库里面有张表保存有每天的统计结果,每天有1千多万条,这是我们意想不到的,统计结果咋有这么多.运维找过来,磁盘占了200G,最后问了运营,可以只保留最近3天的,前面的数据,只 ...
- 涛哥的Python工具箱之批量删除含指定字符串行
我们在软件研发中不可避免的要用到大量的反复性的繁琐的工作,比如批量改动代码中接口的字符串.批量下载文件并又一次按规则命名.这些工作人工做特别累,尤其是对我这样的懒人来说. 对于一个出色的程序猿来说,反 ...
- 用python批量处理Excel表格,处理结果又快又好,做办公室最靓的那个仔
使用python批量处理Excel数据 让你根据Excel上所有人的身份证号码,提取出公司员工的生日 让你每个月都将公司所有人的考勤数据整理一下 类似这样的格式化的重复操作,你还在每次都使用的 ...
- Python批量删除指定目录下的指定类型的文件
Python作为一种脚本语言.其很适合文件级的各种操作.以下的代码能够批量删除指定目录下的所有特定类型(CSV类型)的文件. import sys, csv , operator import os ...
随机推荐
- PHP如何开启swoole扩展
swoole是一个PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncT ...
- opencv---(腐蚀、膨胀、边缘检测、轮廓检索、凸包、多边形拟合)
一.腐蚀(Erode) 取符合模板的点, 用区域最小值代替中心位置值(锚点) 作用: 平滑对象边缘.弱化对象之间的连接. opencv 中相关函数:(erode) // C++ /** shape: ...
- ASP.NET图片上传和截取
一.介绍:图片的上传直接使用ajax就可以了,截取图片的话使用到Jcrop插件. 图片上传资料:https://www.jb51.net/article/87654.htm 截取图片插件:http:/ ...
- zabbix snmp监控与主被模式
1.snmp基础介绍 snmp全称是简单网络管理协议 为什么要用? 路由器交换机无法安装agent程序,但是都提供snmp服务端, 我们可以使用zabbix的snmp方式监控snmp服务端的数据 2. ...
- Java开发人员必备十大工具
Java世界中存在着很多工具,从著名的IDE(例如Eclipse,NetBeans和IntelliJ IDEA)到JVM profiling和监视工具(例如JConsole,VisualVM,Ecli ...
- Navicat Premium12.0 常用快捷键
- vue jsx与render的区别及基本使用
vue template语法简单明了,数据操作与视图分离,开发体验友好.但是在某些特定场合中,会限制一些功能的扩展,如动态使用过滤器.解析字符串类型的模板文件等.以上功能的实现可以借助vue的rend ...
- 转战物联网·基础篇05-通俗理解MQTT协议的实现原理和异步方式
网络上搜索MQTT协议,会出现太多的解释,这里就不做官方标准释义的复制了.这一节我们从实战理解角度,通俗的将MQTT协议的作用及实现原理说一下,旨在可以快速理解MQTT协议.所以可能会出现很多看似 ...
- Callable实现JAVA多线程
最近项目用到一个功能需要实现多线程分发任务且需要任务的返回值,之前一直都是实现Runnable接口,但里面的run方法是返回void的.后来在网上查了下JAVA1.5开始就有了Callable. 下面 ...
- 利用phpqrcode二维码生成类库合成带logo的二维码并且用合成的二维码生成海报(二)
前期准备 引入phpqrcode类库(下载地址:https://download.csdn.net/download/weixin_37557729/11891240:支持彩色二维码的下载地址:htt ...