一般做接口测试,会把参数和一些数据放入excel表中,这样就不会重新编译代码,提高效率。一般如何操作呢?接下来跟着步骤一起学习吧

  执行步骤:

  1.首先要安装 xlrd这个模块,用 pip install xlrd

  2.倒入这个模块

  3.打开一个excel文件(建一个excel的对象)

  4.获取到想要的sheet

  5.得到想要的列的内容,或者行的内容,或者具体哪个单元格里面的内容

  我有一个excel文件:3行4列,有三页,分别是sheet1,sheet2,sheet3

代码:

#!/usr/bin/env/python
# -*-coding:utf-8-*-
import xlrd class excelUse(object): #Object:得到这个对象,也就是打开xlsx文件
Object = xlrd.open_workbook("exceldemo1.xlsx") def getSheetsByIndex(self,index=0):
"""
通过索引得到
sheet: 得到第几页(index)的内容
:return: 返回第几页的内容
"""
sheet = self.Object.sheet_by_index(index) #通过sheet_by_index()这个方法,得到想要的具体的某一页
return sheet def getSheetsByName(self,name):
"""
通过名字得到
:param sheetName:得到所有的sheet,而且他的类型是一个list类型
:return:
"""
sheetNames = self.Object.sheet_names() #通过sheet_names()这个方法,得到所有页的名
     print "sheetnames is {0},and the type is {1}".format(sheetNames, type(sheetNames))
        sheet = self.Object.sheet_by_name(name)   #通过sheet_by_name()这个方法,传入具体的sheet名字得到具体的sheet页
return sheet def getNumber(self):
"""
获取sheet的名字,行数,列数,通过属性 name,nrows,ncols(是number+rols/cols)
:return:
"""
print "获取sheet的名字",self.getSheetsByIndex(0).name
print "获取sheet的行数",self.getSheetsByIndex(0).nrows
print "获取sheet的列数",self.getSheetsByIndex(0).ncols def getRow(self,index=0):
"""
index: 第几行的内容,默认从0开始
:param index:
:return:
"""
print self.getSheetsByIndex(0).row_values(index)
print type(self.getSheetsByIndex(0).row_values(index)) def getCol(self,index=0):
"""
index:第几列的内容,默认从0开始
:return:
"""
print self.getSheetsByIndex(0).col_values(index)
print type(self.getSheetsByIndex(0).col_values(index))
  def getCell(self,rowIndex,colIndex):
"""
获取具体的单元格的内容
rowIndex:第几行
colIndex:第几列
     type:单元格数据的类型 
:return:
"""
print self.getSheetsByIndex(0).cell_value(rowIndex,colIndex)
print self.getSheetsByIndex(0).cell(rowIndex,colIndex)
#print self.getSheetsByName("sheet1").cell(rowIndex,colIndex)
type = self.getSheetsByIndex(0).cell(rowIndex,colIndex).ctype
#ctype的类型 0:empty,1:string, 2:number, 3:date, 4: boolean, 5: error
print type if __name__=="__main__":
obj = excelUse()
obj.getRow(0)
obj.getCol(0)
obj.getCell(0,0)
obj.getNumber()

python操作excel文件一(xlrd读取文件)的更多相关文章

  1. python操作excel之 模块 xlrd (详解)

    二.使用介绍 1.导入模块 import xlrd 2.打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') 3.使用技巧 获取一个工作表 ...

  2. python操作Excel读写--使用xlrd

    一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import x ...

  3. python操作Excel读--使用xlrd

    一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import x ...

  4. python操作excel之 模块 xlrd

    xlrd是专门用来在python中读取微软execel的模块,可以自己直接下载安装,也可以通过包管理器安装. 官方资料: 下载地址:http://pypi.python.org/pypi/xlrd 官 ...

  5. python操作Excel读写--使用xlrd (转)

    (转自:http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html) 一.安装xlrd模块 到python官网下载http://pypi ...

  6. python操作Excel读写--使用xlrd和xlwt

    一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 进入到解压文件路径,输入 setup.py  ...

  7. python操作Excel读写(使用xlrd和xlrt)

    包下载地址:https://pypi.python.org/pypi/xlrd   导入 import xlrd 打开excel data = xlrd.open_workbook('demo.xls ...

  8. Python操作Excel

    一.系统性学习 对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操 ...

  9. 【python小记】python操作excel文件

    题记: 最近因为工作需要,学习了python,瞬间对这个轻松快捷的语给吸引了,以前只知道js脚本是写网页的,没有想到python这个脚本语言的应用范围可以这么广泛,现在做一些简单或稍微复杂的操作,基本 ...

  10. python操作excel表格(xlrd/xlwt)

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

随机推荐

  1. python学习笔记(5-1)-基本数据类型-字符串类型及操作

    五.字符串处理函数  len(x):字符串x的长度.如len("12345")结果为5  str(x):任意类型x所对应的字符串形式. >>> str(123) ...

  2. 洛谷 p1019 单词接龙

    题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...

  3. Lodop扁宽横向241mm*93mm这种怪异的纸张如何设置

    Lodop中如果设置LODOP.SET_PRINT_PAGESIZE(2,'241mm','93mm','');,会发现实际的纸张和自己设置的不同,不只是打印机不识别,xps和pdf虚拟打印机也不能正 ...

  4. ADO.NET工具类(一)

    using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; usin ...

  5. css3实现背景渐变

    #grad { background: -webkit-linear-gradient(left,rgba(255,0,0,0),rgba(255,0,0,1)); /* Safari 5.1 - 6 ...

  6. css背景色 透明字体不透明

    .demo{ padding: 25px; background-color: rgba(,,,0.5);/* IE9.标准浏览器.IE6和部分IE7内核的浏览器(如QQ浏览器)会读懂 */ }

  7. 前端es6基础语法

    1.let.const.var var是声明全局的变量,作用域是全局,const是声明全局的常量,不能修改,而let是块级变量只在当前声明的作用域中生效: { var a = 10; let b = ...

  8. pysphere VMware控制模块的一些函数的说明

    对于虚拟机的操作获得虚拟机对象 当你正常连接了服务器后,你就可以使用以下两种方式来得到虚拟机对象. get_vm_by_path get_vm_by_name 虚拟机路径可以从虚拟机右键信息中的”Ed ...

  9. 洛谷P3222 [HNOI2012]射箭(计算几何,半平面交,双端队列)

    洛谷题目传送门 设抛物线方程为\(y=ax^2+bx(a<0,b>0)\),我们想要求出一组\(a,b\)使得它尽可能满足更多的要求.这个显然可以二分答案. 如何check当前的\(mid ...

  10. Hdoj 1879.继续畅通工程 题解

    Problem Description 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).现得到城镇道路统计 ...