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中的文件内容的更多相关文章

  1. 使用Python批量修改数据库执行Sql文件

    由于上篇文章中批量修改了文件,有的时候数据库也需要批量修改一下,之前的做法是使用宝塔的phpMyAdmin导出一个已经修改好了的sql文件,然后依次去其他数据库里导入,效率不说极低,也算低了,且都是些 ...

  2. python 3 往Excel 中的写入内容但不覆盖原内容

    EXCEL 写入数据保持原样式 import xlwt import xlrd import xlutils import xlutils.copy class ExcelHandle(): def ...

  3. Python 批量修改文件名并移动文件到指定目录

    # -*- coding: utf-8 -*- import os, sys,re,shutil from nt import chdir #读取中文路径 u'' path=u"D:\\zh ...

  4. Python基础-修改excel中内容

    from xlutils.copy import copy import xlrd import os #1.打一要修改的excel #2.再打开另一个excel #3.把第一个excel里面修改东西 ...

  5. python批量修改linux主机密码

    +++++++++++++++++++++++++++++++++++++++++++标题:python批量修改Linux服务器密码时间:2019年2月24日内容:基于python实现批量修改linu ...

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

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

  7. Python批量修改图片格式和尺寸

    Python批量修改图片格式和尺寸 备注: 1.导入了PIL库,是处理图片用的,很强大; 2.导入了的win32库,是判断隐藏文件用的,我们的项目需要删除隐藏文件,不需要的可以直接找到删除. 3.导入 ...

  8. 利用python批量修改word文件名的方法示例

    利用python批量修改word文件名的方法示例 最近不小心把硬盘给格式化了,由于当时的文件没有备份,所以一下所有的文件都没有了,于是只能采取补救措施,用文件恢复软件恢复了一部分的数据出来,但是恢复完 ...

  9. Android逆向之旅---Android应用的汉化功能(修改SO中的字符串内容)

    一.前言 今天我们继续来讲述逆向的知识,今天我们来讲什么呢?我们在前一篇文章中介绍了关于SO文件的格式,今天我们继续这个话题来看看如何修改SO文件中的内容,看一下我们研究的主题: 需求:想汉化一个Ap ...

随机推荐

  1. Neural Turing Machine - 神经图灵机

    Neural Turing Machine - 神经图灵机 论文原文地址: http://arxiv.org/pdf/1410.5401.pdf 一般的神经网络不具有记忆功能,输出的结果只基于当前的输 ...

  2. 浅谈ConcurrentDictionary与Dictionary

    在.NET4.0之前,如果我们需要在多线程环境下使用Dictionary类,除了自己实现线程同步来保证线程安全外,我们没有其他选择.很多开发人员肯定都实现过类似的线程安全方案,可能是通过创建全新的线程 ...

  3. PyQt5之音乐播放器

    按照自己思路简单写了个桌面播放器,只有自己喜欢的歌.使用QtDesigner设计的ui界面,功能简单,还有很多bug@~@,代码奉上: music_button.ui使用扩展工具pyuic5生成了mu ...

  4. 从头认识js-js中的继承

    要彻底弄明白js中的继承,我们首先要弄清楚js中的一个很重要的概念那就是原型链. 1.什么是原型链? 我们知道每个构造函数都有一个原型对象,原型对象包含一个指向构造函数的指针,而实例都包含一个指向原型 ...

  5. MVC07

    1. 讲解ASP.net MVC的I/O操作 新建一个控制台程序,输入代码如下 using System; using System.IO; namespace IO { class Program ...

  6. VueX状态管理器 的应用

    VueX状态管理器 cnpm i vuex axios -S 1 创建Vuex 仓库 import Vue from 'vue' import Vuex from 'vuex' vue.use(Vue ...

  7. TCP/IP协议概要--01

    学习一下tcp/ip协议,还是很枯燥,哎..... 图片的是从下到上对TCP/IP的协议进行描述的.主要是的描述每一层协议的特点 该层对应的是最底层的数据链路层,即图中的以太网驱动程序那一层. 该层是 ...

  8. 使用GitHub(二):配置并使用Git创建版本库

    使用GitHub(二):配置并使用Git创建版本库 本文简单介绍使用GitHub对代码进行版本控制,包括添加SSHkey.配置Git.使用Git创建版本库并在GitHub上进行管理,主要目的是对学习内 ...

  9. web 移动端 横向滚动的阻尼感很强,滑动不灵敏

    在添加 overflow-x: scroll的元素里增加如下style overflow-x: scroll; -webkit-overflow-scrolling: touch; //关键点

  10. 关于有趣的windows.h

    system 函数: 这个函数差不多就是调用 cmd (命令提示符). 当然,不一定要在程序中调用,用 txt 打入文本( 不用加system() )后改后缀名为 cmd 后运行即可. Win 键 + ...