用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 ...
随机推荐
- 安装swoole出现make报错的原因与解决方法
安装swoole报错,错误信息如下: 报错原因 报错很明显,找不到 openssl/ssl.h ,首先要确认电脑上有没有安装 openssl Mac安装openssl 既然它找不到,那么就需要手动的指 ...
- IT兄弟连 HTML5教程 HTML5文字版面和编辑标签 HTML框架结构
使用HTML框架结构可以把一个浏览器窗口划分为若干个小窗口,每个窗口可以显示不同的URL网页,每个框架里的网页相互独立.这样不仅可以非常方便地在浏览器中同时浏览不同的页面效果,而且可以非常方便地完成导 ...
- Googleplaystore数据分析
本次所用到的数据分析工具:numpy.pandas.matplotlib.seaborn 一.分析目的 假如接下来需要开发一款APP,想了解开发什么类型的APP会更受欢迎,此次分析可以对下一步计划进行 ...
- C++如何使用宏定义来简化代码性能测试 | cpp macro like function to implement a performance profiler
本文首发于个人博客https://kezunlin.me/post/65dc693d/,欢迎阅读最新内容! cpp macro like function to implement a perform ...
- 原生js实现on和emit
let obj = {}; const $on = (name,fn)=>{ if(!obj[name]){ obj[name] = []; } obj[name].push(fn); } co ...
- 阿里面试实战题2----ReentrantLock里面lock和tryLock的区别
ReentrantLock ReentrantLock(轻量级锁)也可以叫对象锁,可重入锁,互斥锁.synchronized重量级锁,JDK前期的版本lock比synchronized更快,在JDK1 ...
- Asp.Net Core 内置IOC容器的理解
Asp.Net Core 内置IOC容器的理解 01.使用IOC容器的好处 对接口和实现类由原来的零散式管理,到现在的集中式管理. 对类和接口之间的关系,有多种注入模式(构造函数注入.属性注入等). ...
- Elasticsearch核心技术与实战-简介
讲师阮一鸣介绍ebay的Pronto团队在ebay内部管理上百个Elasticsearch集群,超过4000个数据节点.在生产环境上支持的服务有 订单搜索.商品推荐.日志管理.风险控制.IT运维.安全 ...
- BIM工程信息管理新系统- 系统管理模块
系统管理模块 1.实体类 public partial class T_Role { public string RoleId { get; set; } public string RoleName ...
- 部署web01,web02,nfs,db01,backup,搭建wordpress,WeCenter,实现共享,热备,实时备份
小结 部署web01,web02,nfs,db01,backup,搭建wordpress,WeCenter,实现共享,热备,实时备份 1)在web01和web02上安装nginx和php 2)创建ww ...