• xlwt模块用于在内存中生成一个xls/xlsx对象,增加表格数据,并把内存中的xls对象保存为本地磁盘xls文件;
  • xlrd模块用于把本地xls文件加载到内存中,可以读取xls文件的表格数据,查询xls文件的相关信息;
  • xlwt可以生成xls文件,xlrd可以读取已经存在的xls文件,但是如果要修改本地已经存在的xls文件,就需要用到xlutils模块。
  • xlutils模块是xlrd和xlwt之间的桥梁,可以使用xlutils模块中的copy模块,拷贝一份通过xlrd读取到内存中的xls对象,就可以在拷贝对象上像xlwt中那样修改xls表格的内容,并保存到本地

xlutils模块安装

xlutils安装包下载链接: https://pypi.python.org/pypi/xlutils

或  http://download.csdn.net/download/dcrmg/10040953

目前最新版本是2.0  ++  名称是 "xlutils-2.0.0-py2.py3-none-any.whl"

安装指令: pip install
xlutils-2.0.0-py2.py3-none-any.whl

下边这个示例使用xlwt生成一个xls文件,使用xlrd读取xls文件内容,使用xlutils修改本地xls文件内容:

import xlwt
import xlrd
import xlutils.copy if __name__ == '__main__': workbook = xlwt.Workbook() #使用xlwt新生成一个workbook
sheet = workbook.add_sheet("sheet1") #增加一个名称为sheet1的sheet
sheet2 = workbook.add_sheet("sheet2") row0 = ['Order', 'Name', 'Class', 'Socer', 'Num'] #第一行内容
row1 = [u'1', u'Tom', u'4', u'87', u'B']
row2 = [u'2', u'Mars', u'4', u'91', u'A'] for i in range(len(row0)):
sheet.write(0, i, row0[i]) #write(行,列,值)
sheet.write(1, i, row1[i])
sheet.write(2, i, row2[i]) workbook.save('/home/xxx/xx.xls') #保存workbook为xls格式 workbook = xlrd.open_workbook('/home/dcrmg/work/1025.xls') #使用xlrd打开本地的workbook
num_sheet = workbook.nsheets #workbook内总的sheet数量
names_sheet = workbook.sheet_names() #workbook中所有sheet名称的列表
sheet1 = workbook.sheet_by_index(0) #根据序号获取sheet
sheet2 = workbook.sheet_by_index(1) sheet = workbook.sheet_by_name(u'sheet1') #根据sheet名称获取sheet sheet_name = sheet1.name #sheet名称
sheet_rows = sheet1.nrows #sheet总的行数
sheet_clos = sheet1.ncols #sheet总的列数 val2 = sheet1.row_values(2) #第n+1行内容的列表
print val2
val3 = sheet1.col_values(0) #第n+1列内容的列表 value = sheet1.row(1)[0].value.encode('utf-8') #row(rows)(cols) 第rows+1行第cols+1列所在表格的内容
print value value = sheet1.col(1)[0].value.encode('utf-8') #col(cols)(rows) 第cols+1列第rows+1行所在表格的内容
print value workbook_xlutils = xlutils.copy.copy(workbook) #使用xlrd打开一个已存在的xls,并通过xlutils复制
sheet1_xlutils = workbook_xlutils.get_sheet(0) #通过sheet序号获取sheet row3 = [u'3', u'Kim', u'4', u'100', u'A+']
row4 = [u'4', u'Klus', u'4', u'98', u'A+']
for i in range(len(row3)): #写入sheet_xlutils的修改值
sheet1_xlutils.write(3, i, row3[i])
sheet1_xlutils.write(4, i, row4[i])
sheet1_xlutils.write(5, 10, 99) workbook_xlutils.save('/home/xxx/xx.xls') #保存xls

python中通过xlwt、xlrd和xlutils操作xls的更多相关文章

  1. Python中对 文件 的各种骚操作

    Python中对 文件 的各种骚操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getc ...

  2. Python中实现对list做减法操作介绍

    Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...

  3. Python模块学习之xlrd、xlutils、openpyxl 读写/追加Excel文件

    Python操作Excel的四个工具包 xlrd: 对Excel进行读相关操作,注意只能操作 .xls xlwt: 对Excel进行写相关操作,注意只能操作 .xls,且只能创建一个全新的Excel然 ...

  4. python中的字符串(str)操作

    字符串是python中数据类型.一般就单引号(‘’)或双引号(“”)引起来的内容就是字符串. 例如:下面两个都是定义字符串 str1 = "hello world" str2 = ...

  5. Python中对字节流/二进制流的操作:struct

    前言 前段时间使用Python解析IDX文件格式的MNIST数据集,需要对二进制文件进行读取操作,其中我使用的是struct模块.查了网上挺多教程都写的挺好的,不过对新手不是很友好,所以我重新整理了一 ...

  6. python 中几种基本的矩阵操作应用

    在图像处理中,python 的矩阵运算经常会用到一些简单的操作,可是,由于好久没用,很多东西还是忘记了,这里做个备忘: #-*-coding:utf-8-*- import numpy as np a ...

  7. python中文件的读和写操作

    一.打开文件 data = open("yesterday",encoding="utf-8").read() # python默认的打字符编码是unicode ...

  8. python中几个实用的文件操作

    1. 判断指定目录是否存在: os.path.exists(input_folder) 2. 判断指定目录是不是文件夹 os.path.isdir(input_folder) 3. 判断指定目录是不是 ...

  9. python中scipy学习——随机稀疏矩阵及操作

    1.生成随机稀疏矩阵: scipy中生成随机稀疏矩阵的函数如下: scipy.sparse.rand(m,n,density,format,dtype,random_state) 1 参数介绍: 参数 ...

随机推荐

  1. 如果当前地图文档中有独立的Table,通过Engine如何获取该Table?

    将IMap转为ITableCollection,通过ITableCollection.get_Table(int index);来获取该Table

  2. 【sublime text3】破解 最近破解码 /激活成功,但是过一会就提示激活码失效的 Build3143

    —– BEGIN LICENSE —– TwitterInc User License EA7E- 1D77F72E 390CDD93 4DCBA022 FAF60790 61AA12C0 A3708 ...

  3. K-L变换

    K-L变换( Karhunen-Loeve Transform)是建立在统计特性基础上的一种变换,有的文献也称为霍特林(Hotelling)变换,因他在1933年最先给出将离散信号变换成一串不相关系数 ...

  4. Linux中的热键[Tab] [Ctrl]-c [Ctrl]-d

    Tab键:命令或者文件补全.可以避免很多的输入错误 1. 按一次,文件或命令补全 2. 按两次,会列举出以按键前的字母为首的所有命令或者文件 Ctrl+C:中断目前程序 Ctrl+D:键盘输入结束.可 ...

  5. HDU3572Task Schedule(最大流 ISAP比較快)建图方法不错

    Task Schedule Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  6. Solaris设备管理

    接手一台服务器,如何了解它的软硬件配置 数据库可以装在裸设备上,何为裸设备 知识点: 内核 驱动程序 设备命名 设备访问方式 磁盘的管理 内核: 指挥硬件干活的工具,shell翻译官,将人类语言翻译为 ...

  7. impdp因致命错误终止 ORA-7445 [kpodpals]

    基本要素 前天好不easy成功给用户把数据全库导出,今天用户又告知导出的数据无法导入,首先就问用户有什么错误提示,给我的回答是就一个'作业"SYSTEM"."SYS_IM ...

  8. unittest相关文档

    文档链接: http://blog.csdn.net/wangst4321/article/details/8454118

  9. unity3d从零開始(五):了解摄像机

    1.简单介绍         Unity的摄像机是用来将游戏世界呈现给玩家的,游戏场景中至少有一台摄像机.也能够有多台. 2.类型         Unity中支持两种类型的摄像机,各自是Perspe ...

  10. EasyDarwin流媒体服务器RTSP拉模式流媒体转发模块设计

    拉模式转发 拉模式转发,顾名思义就是服务器主动从源端(IPCamera.NVR.或者其他流媒体服务器)通过RTSP/RTP协议将流媒体音视频数据拉取到流媒体转发服务器,再通过内部分发调度机制,分发给请 ...