• 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. arcgis andriod Edit features

    来自:https://developers.arcgis.com/android/guide/edit-features.htm#ESRI_SECTION1_56C60DB71AF941E98668A ...

  2. SharePreferences使用

    获取数据: @SuppressLint("InlinedApi") private String getFromSharePreference(String key) { if ( ...

  3. tar命令中的-C作用

    一直不知道解压命令如何指定文件夹,今天学到了一个 -C 参数 tar zxvf test.tar.gz -C test 注释:上面的命令将 test.tar.gz 这个压缩包解压到当前目录下的 tes ...

  4. Tyvj3308毒药解药题解

    题目大意 这些药都有可能在治愈某些病症的同一时候又使人患上某些别的病症--经过我天才的努力.最终弄清了每种药的详细性能,我会把每种药能治的病症和能使人患上的病症列一张清单给你们,然后你们要依据这张清单 ...

  5. 21. Spring Boot过滤器、监听器【从零开始学Spring Boot】

    转载:http://blog.csdn.net/linxingliang/article/details/52069490 上一篇文章已经对定义Servlet 的方法进行了说明,过滤器(Filter) ...

  6. Java基础:抽象类和接口

    转载请注明出处:jiq•钦's technical Blog 一.引言 基于面向对象五大原则中的以下两个原则,我们应该多考虑使用接口和抽象类: 里氏替换原则:子类能够通过实现父类接口来替换父类,所以父 ...

  7. https双向认证訪问管理后台,採用USBKEY进行系统訪问的身份鉴别,KEY的证书长度大于128位,使用USBKEY登录

    近期项目需求,须要实现用USBKEY识别用户登录,採用https双向认证訪问管理后台管理界面,期间碰到过一些小问题,写出来给大家參考下. 1:前期准备工作 USBKEY 硬件:我买的是飞天诚信 epa ...

  8. php empty、isset、is_null区别

    有关 PHP 的 empty(),isset() 还有 is_null() 这三个函数的用法讨论得已经很多了,而且很多资料也未必能说得很清楚.这里再重复一次,但不是从概念去说,直接用程序例子来说话,应 ...

  9. java对象访问

    下面这句代码: Object obj = new Object(); 对象引用在栈中,对象实体存在堆中,引用的方式有两种,分别是通过句柄访问对象和通过直接指针访问对象. Sun HotSpot使用第二 ...

  10. webstorm 设置IP 访问 手机测试效果

    http://www.cnblogs.com/gulei/p/5126383.html 前端开发中,经常需要将做好的页面给其他同事预览或手机测试,之前一直用的第三方本地服务器usbwebserver, ...