Python批量修改Excel中的文件内容
import os
import xlrd
from xlutils.copy import copy
def base_dir(filename=None):
return os.path.join(os.path.dirname(__file__),filename)
"""对excel进行操作"""
work = xlrd.open_workbook(base_dir("excel.xls"))
# 索引到第X个工作表
sheet = work.sheet_by_index(0)
#查看有多少行
print(sheet.nrows)
#查看有多少列
print(sheet.ncols)
#获取单元格内容
print(sheet.cell_value(5,2))
"""对excel进行修改/添加内容"""
# 找到需要更该的xls
work = xlrd.open_workbook(base_dir("excel.xls"))
print(work)
# 对数据表格进行复制
old_content = copy(work)
# 定位到Sheet1表
ws = old_content.get_sheet(0)
#在sheet1表中写入内容
ws.write(7,2,"Tao")
#对修改后的内容进行保存
old_content.save(base_dir("data.xls"))
Python批量修改Excel中的文件内容
# -*- coding: utf-8 -*-
from xlrd import open_workbook
from xlutils.copy import copy
# 括号里放入要读取的文件的绝对路径
wb = open_workbook('./res/bing.xls')
# 获取所读取文件的第一张表单
sheet = wb.sheet_by_index(0)
# 获取该表单的行数
s = sheet.nrows
# 复制原文件,因为原文件只能读取,不能写入数据,所以要复制得到一个可以写入数据的文件
newwb = copy(wb)
# 获取可写文件的第一张表单
newsheet = newwb.get_sheet(0)
try:
for row in range(sheet.get_rows()):
# 遍历每一行,当8列的值小于12时,就把该值改为0
if sheet.cell(row,7).value < 12:
newsheet.write(row, 7, 0)
except:
print("")
newwb.save('1.xls')123456789101112131415161718192021222324
————————
xlwt 写库的局限性: 只能写入新建的 excel。
xlutils 库的 copy 功能可能帮助我们打破这个局限性。
首先,用pip install xlutils来添加 xlutils 库。
import xlwt
import xlrd
import xlutils.copy
rd = xlrd.open_workbook("Hello.xls", formatting_info = True) # 打开文件
wt = xlutils.copy.copy(rd) # 复制
sheets = wt.get_sheet(0) # 读取第一个工作表
sheets.write(m, n, "I love you!") # 向 m-1 行 n-1 列的单元格写入内容
wt.save("Hi.xls") # 保存
123456789
实现原理就是:我先读,再用xlutils.copy的 copy 复制一份,复制的这个就能实现写入了。
xlrd.open_workbook("Hello.xls", formatting_info = True)
里面的参数是可选的: 很重要,这个是保留原格式,没有它的话你会发现新的excel一点样式都没有。
喜欢的
————————————————
————————
Python批量修改Excel中的文件内容的更多相关文章
- 使用Python批量修改数据库执行Sql文件
由于上篇文章中批量修改了文件,有的时候数据库也需要批量修改一下,之前的做法是使用宝塔的phpMyAdmin导出一个已经修改好了的sql文件,然后依次去其他数据库里导入,效率不说极低,也算低了,且都是些 ...
- python 3 往Excel 中的写入内容但不覆盖原内容
EXCEL 写入数据保持原样式 import xlwt import xlrd import xlutils import xlutils.copy class ExcelHandle(): def ...
- Python 批量修改文件名并移动文件到指定目录
# -*- coding: utf-8 -*- import os, sys,re,shutil from nt import chdir #读取中文路径 u'' path=u"D:\\zh ...
- Python基础-修改excel中内容
from xlutils.copy import copy import xlrd import os #1.打一要修改的excel #2.再打开另一个excel #3.把第一个excel里面修改东西 ...
- python批量修改linux主机密码
+++++++++++++++++++++++++++++++++++++++++++标题:python批量修改Linux服务器密码时间:2019年2月24日内容:基于python实现批量修改linu ...
- 用python批量处理Excel表格,处理结果又快又好,做办公室最靓的那个仔
使用python批量处理Excel数据 让你根据Excel上所有人的身份证号码,提取出公司员工的生日 让你每个月都将公司所有人的考勤数据整理一下 类似这样的格式化的重复操作,你还在每次都使用的 ...
- Python批量修改图片格式和尺寸
Python批量修改图片格式和尺寸 备注: 1.导入了PIL库,是处理图片用的,很强大; 2.导入了的win32库,是判断隐藏文件用的,我们的项目需要删除隐藏文件,不需要的可以直接找到删除. 3.导入 ...
- 利用python批量修改word文件名的方法示例
利用python批量修改word文件名的方法示例 最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完 ...
- Android逆向之旅---Android应用的汉化功能(修改SO中的字符串内容)
一.前言 今天我们继续来讲述逆向的知识,今天我们来讲什么呢?我们在前一篇文章中介绍了关于SO文件的格式,今天我们继续这个话题来看看如何修改SO文件中的内容,看一下我们研究的主题: 需求:想汉化一个Ap ...
随机推荐
- USB小白学习之路(5) HID鼠标程序
HID鼠标程序 1. 特别注意 需要特别注意,各个例程中的设备描述符,配置描述符等各种描述符都是已经配置好了的,我们需要做的只是在例程中将代码修改为自己需要的部分即可,一般情况下是不可以串搭配的. 2 ...
- 002.使用kubeadm安装kubernetes 1.17.0
一 环境准备 1.1 环境说明 master 192.168.132.131 docker-server1 node1 192.168.132.132 doc ...
- 7-12 产生每位数字相同的n位数 (30 分)
读入2个正整数A和B,1<=A<=9, 1<=B<=10,产生数字AA...A,一共B个A 输入格式: 在一行中输入A和B. 输出格式: 在一行中输出整数AA...A,一共B个 ...
- CentOS7.5源码编译安装mysql5.7.29
#查看系统版本 [root@ctos3 ~]# cat /etc/redhat-release CentOS Linux release (Core) #下载源码包,需要注意的是mysql5.7 编译 ...
- 使用纯粹的JS构建 Web Component
原文链接:https://ayushgp.github.io/htm...译者:阿里云 - 也树 Web Component 出现有一阵子了. Google 费了很大力气去推动它更广泛的应用,但是除 ...
- 本地目录配置多个远程Git仓库
目录 情景一:不同的库分别 pull/push 1. 使用git命令配置 2. 修改.git/config 文件 3. 操作 情景二:不同的库一次push 1. 使用git命令配置 2. 修改.git ...
- ZipArchive(解压文件)
一.首先介绍minizip 的使用方法 ziparchive是基于开源代码”MiniZip”的zip压缩与解压的Objective-C 的Class,使用起来非常的简单方法:从http://code. ...
- IOS7下,alertView不能使用addSubview添加textField解决办法
UIAlertView *alertView1 = [[UIAlertView alloc] initWithTitle:@"Enter Form Name" message:@& ...
- 群ping
找出单位内所有电脑手机 通常情况下,ping只能ping一个IP地址.一个网络值班只有255台电脑,除非是大的网络断,把子网掩码改了,可以扩充更多电脑.如: 如果我们要一次性检查内网所有机器,则可以输 ...
- Oracle学习笔记--Oracle启动过程归纳整理
Oracle 启动过程分为nomount状态mount状态open状态 每个状态下Oracle都会进行不同的操作:1.nomount状态 在$ORACLE_HOME/dbs目录下寻找参数文件 参数文件 ...