python里面的xlrd模块详解(一)

 

那我就一下面积个问题对xlrd模块进行学习一下:

1.什么是xlrd模块?

2.为什么使用xlrd模块?

3.怎样使用xlrd模块?

1.什么是xlrd模块?

  ♦python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

今天就先来说一下xlrd模块:

一、安装xlrd模块

  ♦ 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境。

  ♦或者在cmd窗口  pip install  xlrd

二、使用介绍

1、常用单元格中的数据类型

  ♦ 0. empty(空的),1 string(text), 2 number, 3 date, 4 boolean, 5 error, 6 blank(空白表格)

2、导入模块

  1. import xlrd

3、打开Excel文件读取数据

  1. data = xlrd.open_workbook(filename)#文件名以及路径,如果路径或者文件名有中文给前面加一个r拜师原生字符。

 4、常用的函数

♦ excel中最重要的方法就是book和sheet的操作

1)获取book中一个工作表

  1. table = data.sheets()[0] #通过索引顺序获取
  2.  
  3. table = data.sheet_by_index(sheet_indx)) #通过索引顺序获取
  4.  
  5. table = data.sheet_by_name(sheet_name)#通过名称获取
  6.  
  7. 以上三个函数都会返回一个xlrd.sheet.Sheet()对象
  8.  
  9. names = data.sheet_names() #返回book中所有工作表的名字
  10.  
  11. data.sheet_loaded(sheet_name or indx) # 检查某个sheet是否导入完毕

如:

2)行的操作

  1. nrows = table.nrows #获取该sheet中的有效行数
  2.  
  3. table.row(rowx) #返回由该行中所有的单元格对象组成的列表
  4.  
  5. table.row_slice(rowx) #返回由该列中所有的单元格对象组成的列表
  6.  
  7. table.row_types(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据类型组成的列表
  8.  
  9. table.row_values(rowx, start_colx=0, end_colx=None) #返回由该行中所有单元格的数据组成的列表
  10.  
  11. table.row_len(rowx) #返回该列的有效单元格长度

3)列(colnum)的操作

  1. ncols = table.ncols #获取列表的有效列数
  2.  
  3. table.col(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表
  4.  
  5. table.col_slice(colx, start_rowx=0, end_rowx=None) #返回由该列中所有的单元格对象组成的列表
  6.  
  7. table.col_types(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据类型组成的列表
  8.  
  9. table.col_values(colx, start_rowx=0, end_rowx=None) #返回由该列中所有单元格的数据组成的列表

如:

4)单元格的操作

  1. table.cell(rowx,colx) #返回单元格对象
  2.  
  3. table.cell_type(rowx,colx) #返回单元格中的数据类型
  4.  
  5. table.cell_value(rowx,colx) #返回单元格中的数据
  6.  
  7. table.cell_xf_index(rowx, colx) # 暂时还没有搞懂

♦单元格:单元格是表格中行与列的交叉部分,它是组成表格的最小单位,可拆分或者合并。单个数据的输入和修改都是在单元格中进行的

如:

注意:注意作用域问题,之前获取的sheet之后,都在获取到这个sheet值后,在进行,行和列以及单元格的操作。

♦ python解决open()函数、xlrd.open_workbook()函数文件名包含中文,sheet名包含中文报错的问题

问题现象:

  ♦1、使用open()函数、xlrd.open_workbook()函数打开文件,文件名若包含中文,会报错找不到这个文件或目录。

  ♦2、获取sheet时若包含中文,也会报错。

  1. #打开文件
  2. file = open(filename,'rb')
  3.  
  4. #打开excel文件
  5. workbook = xlrd.open_workbook(filename)
  6.  
  7. #获取sheet
  8. sheet = workbook.sheet_by_name(sheetname)

解决方案:

  ♦对参数进行转码即可。如:

  1. filename = filename.decode('utf-8')

  ♦也试过unicode函数,不过,在ride中运行时出现了报错,所以不赞成使用。

  1. filename = unicode(filename,'utf-8')

2.为什么使用xlrd模块?

  ♦在UI自动化或者接口自动化中数据维护是一个核心,所以此模块非常实用。

python xlrd操作的更多相关文章

  1. 【转】Python xlrd、xlwt、xlutils读取、修改Excel文件

    Python xlrd.xlwt.xlutils读取.修改Excel文件 一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文 ...

  2. Python读写操作Excel模块_xlrd_xlwt_xlutils

    Python 读写操作Excel -- 安装第三方库(xlrd.xlwt.xlutils.openpyxl) 如果仅仅是要以表单形式保存数据,可以借助 CSV 格式(一种以逗号分隔的表格数据格式)进行 ...

  3. Python“文件操作”Excel篇(上)

    大家好,我们今天来一起探索一下用Python怎么操作Excel文件.与word文件的操作库python-docx类似,Python也有专门的库为Excel文件的操作提供支持,这些库包括xlrd.xlw ...

  4. python xlrd 模块(获取Excel表中数据)

    python xlrd 模块(获取Excel表中数据) 一.安装xlrd模块   到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了pyt ...

  5. Python中操作mysql的pymysql模块详解

    Python中操作mysql的pymysql模块详解 前言 pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同.但目前pymysql支持python3.x而后者不支持 ...

  6. Python 字符串操作

    Python 字符串操作(string替换.删除.截取.复制.连接.比较.查找.包含.大小写转换.分割等) 去空格及特殊符号 s.strip() .lstrip() .rstrip(',') 复制字符 ...

  7. Python目录操作

    Python目录操作 os和os.path模块os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回但前目录('.') ...

  8. Python基础篇【第2篇】: Python文件操作

    Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...

  9. Python list 操作

    创建列表sample_list = ['a',1,('a','b')] Python 列表操作sample_list = ['a','b',0,1,3] 得到列表中的某一个值value_start = ...

随机推荐

  1. 避免在ASP.NET Core 3.0中为启动类注入服务

    本篇是如何升级到ASP.NET Core 3.0系列文章的第二篇. Part 1 - 将.NET Standard 2.0类库转换为.NET Core 3.0类库 Part 2 - IHostingE ...

  2. Babel+vscode实现APICloud开发中兼容ES6及以上代码

    本文出自APICloud官方论坛, 感谢论坛版主 penghuoyan 的分享.   使用APICloud开发时,考虑到兼容问题一直使用ES5开发,时间越久感觉越落后,整理了一个兼容ES6的开发环境, ...

  3. 树 dfs暴力判环 题意转化

    以后还是要多做题啊 这一道题我把题目想的太简单了 用并查集做了一波 但是忘了一种情况 就是同一个树上可能会有环 这就不太对了 而且还不要忘了 一棵树的根节点是一个自环 也就是说这一题的答案就是    ...

  4. 7月17日刷题记录 分治Getting!循环比赛日程表

    通过数:1 ┭┮﹏┭┮ qdoj.xyz 1053 分治-循环比赛日程表 其实今天晚上留给编程的时间并不多,做出一道... 不过收获还是非常大的 毕竟本人从来没有学习过分治算法,今天竟然攻克了我人生中 ...

  5. numpy基本知识

    """np.arrayobject 数组或嵌套的数列dtype 数组元素的数据类型,可选copy 对象是否需要复制,可选order 创建数组的样式,C为行方向,F为列方向 ...

  6. JavaWeb系统(增删改查、多条件查询功能)

    该系统是一个简单的青年服务管理系统,主要包括了较完整的常用的增删改查以及多条件查询功能,对于初学者有很大帮助. 下面是相关的Java代码.jsp页面.以及数据库的创建和相关表的设计 java代码 首先 ...

  7. git工作中总结

    # .克隆到本地 git clone url git clone -b 分支 url # 注意:克隆完成后,要删除.git隐藏文件夹 # .修改代码 # .生成master git init git ...

  8. pycharm 连接mysql失败

    1.下载与之对应的驱动 2.更改数据库的时区(问题大多数出现在这里) .查看时区 show variables like '%time_zone%'; .设置时区 set global time_zo ...

  9. 分布式唯一ID自增(雪花算法)

    public class IdWorker { // ==============================Fields===================================== ...

  10. CSS动效集锦,视觉魔法的碰撞与融合(三)

    本文讲述的原理和相关demo 扇形DIV的使用——实现雷达扫描图 DIV环形布局—实现loading圈 动画的向量合成—实现抛物线动画 无限滚动动画—实现跑马灯效果 perspective和trans ...