python操作excel文件一(xlrd读取文件)
一般做接口测试,会把参数和一些数据放入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读取文件)的更多相关文章
- python操作excel之 模块 xlrd (详解)
二.使用介绍 1.导入模块 import xlrd 2.打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') 3.使用技巧 获取一个工作表 ...
- python操作Excel读写--使用xlrd
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import x ...
- python操作Excel读--使用xlrd
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import x ...
- python操作excel之 模块 xlrd
xlrd是专门用来在python中读取微软execel的模块,可以自己直接下载安装,也可以通过包管理器安装. 官方资料: 下载地址:http://pypi.python.org/pypi/xlrd 官 ...
- python操作Excel读写--使用xlrd (转)
(转自:http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html) 一.安装xlrd模块 到python官网下载http://pypi ...
- python操作Excel读写--使用xlrd和xlwt
一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 进入到解压文件路径,输入 setup.py ...
- python操作Excel读写(使用xlrd和xlrt)
包下载地址:https://pypi.python.org/pypi/xlrd 导入 import xlrd 打开excel data = xlrd.open_workbook('demo.xls ...
- Python操作Excel
一.系统性学习 对于操作Excel,需要Xlrd/xlwt这两个模块,下面推荐出系统性学习的网址: python操作Excel读写--使用xlrd 官方文档 Python 使用 Xlrd/xlwt 操 ...
- 【python小记】python操作excel文件
题记: 最近因为工作需要,学习了python,瞬间对这个轻松快捷的语给吸引了,以前只知道js脚本是写网页的,没有想到python这个脚本语言的应用范围可以这么广泛,现在做一些简单或稍微复杂的操作,基本 ...
- python操作excel表格(xlrd/xlwt)
最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...
随机推荐
- python学习笔记(5-1)-基本数据类型-字符串类型及操作
五.字符串处理函数 len(x):字符串x的长度.如len("12345")结果为5 str(x):任意类型x所对应的字符串形式. >>> str(123) ...
- 洛谷 p1019 单词接龙
题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母,要求出以这个字母开头的最长的“龙”(每个单词都最多在“龙”中出现两次),在两个单词相连时,其重合 ...
- Lodop扁宽横向241mm*93mm这种怪异的纸张如何设置
Lodop中如果设置LODOP.SET_PRINT_PAGESIZE(2,'241mm','93mm','');,会发现实际的纸张和自己设置的不同,不只是打印机不识别,xps和pdf虚拟打印机也不能正 ...
- ADO.NET工具类(一)
using System; using System.Collections.Generic; using System.Text; using System.Data.SqlClient; usin ...
- css3实现背景渐变
#grad { background: -webkit-linear-gradient(left,rgba(255,0,0,0),rgba(255,0,0,1)); /* Safari 5.1 - 6 ...
- css背景色 透明字体不透明
.demo{ padding: 25px; background-color: rgba(,,,0.5);/* IE9.标准浏览器.IE6和部分IE7内核的浏览器(如QQ浏览器)会读懂 */ }
- 前端es6基础语法
1.let.const.var var是声明全局的变量,作用域是全局,const是声明全局的常量,不能修改,而let是块级变量只在当前声明的作用域中生效: { var a = 10; let b = ...
- pysphere VMware控制模块的一些函数的说明
对于虚拟机的操作获得虚拟机对象 当你正常连接了服务器后,你就可以使用以下两种方式来得到虚拟机对象. get_vm_by_path get_vm_by_name 虚拟机路径可以从虚拟机右键信息中的”Ed ...
- 洛谷P3222 [HNOI2012]射箭(计算几何,半平面交,双端队列)
洛谷题目传送门 设抛物线方程为\(y=ax^2+bx(a<0,b>0)\),我们想要求出一组\(a,b\)使得它尽可能满足更多的要求.这个显然可以二分答案. 如何check当前的\(mid ...
- Hdoj 1879.继续畅通工程 题解
Problem Description 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可).现得到城镇道路统计 ...