原文:

http://www.cnblogs.com/lhj588/archive/2012/01/06/2314181.html

引言:

  实际工作中,可能很多情况下都会用到excel表格,像如果不需要很正规的用例工具来管理用例的话,大多公司选择直接用excel来管理用例;包括api自动化测试在设计接口的测试用例时,一般会先将接口的url、方法、参数、报文、接口描述等用excel维护起来,然后再从excel表格中读取这些接口信息;

实际的使用步骤如下:

1.安装xlrd模块:

  很简单吧,pip install xlrd即可;

2.导入模块

  import xlrd

3.打开Excel文件读取数据,创建文件对象赋值给workfile

  workfile = xlrd.open_workbook('excelFile.xlsx')

4.获得一个工作表(sheet),创建一个表格对象赋值给变量table,三种方法:

  table = workfile.sheets()[0]          #通过索引顺序获取

  table = workfile.sheet_by_index(0) #通过索引顺序获取

  table = workfile.sheet_by_name(u'Sheet1')#通过名称获取

5.获取整行和整列的值(列表)

  table.row_values(0)  #获取第一行的值,以列表形式返回

  table.col_values(0)  #获取第一列的值,以列表形式返回

6.获取行数和列数

  nrows = table.nrows

   ncols = table.ncols
 
7.根据行数编列所有行的数据
  for i in range(nrows):
    print(table.row_values(i))
 
8.获取指定单元格的数据,注意行和列的索引值都是从0开始
  cell_A1 = table.cell(0,0).value  #表格中A1位置的数据
  cell_C4 = table.cell(2,3).value  #表格中C4位置的数据
 
9.使用行列索引确定指定单元格的数据
  cell_A1 = table.row(0)[0].value  #表格中第1行第1个位置
  cell_A2 = table.col(1)[0].value  #表格中第2列第一个位置
 
10.简单的写入,table.put_cell()
  help一下table.put_cell(),可以了解到put_cell()方法有5个参数:rowx, colx, ctype, value, xf_index
  (1) rowx    # 要写的行索引
  (2) colx    # 要写的列索引
  (3) ctype    # 要写的值的类型: 0 empty, 1 string,  2 number,  3 date,  4 boolean,  5 error
  (4) value    # 要写入的值的数据
  (5) xf_index  # 扩展的格式化,默认是0
>>> table.put_cell(, , , )
>>> table.cell(, ).value
'python'
>>> 

11.不需要关闭文件对象,workfile文件对象没有close()方法

  

12.xlrd应用代码实例

# -*- coding: utf- -*-
import  xdrlib ,sys
import xlrd
def open_excel(file= 'file.xls'):
    try:
        data = xlrd.open_workbook(file)
        return data
    except Exception,e:
        print str(e)
#根据索引获取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的所以  ,by_index:表的索引
def excel_table_byindex(file= ,by_index=):
    data = open_excel(file)
    table = data.sheets()[by_index]
    nrows = table.nrows #行数
    ncols = table.ncols #列数
    colnames =  table.row_values(colnameindex) #某一行数据
    list =[]
    ,nrows):

         row = table.row_values(rownum)
         if row:
             app = {}
             for i in range(len(colnames)):
                app[colnames[i]] = row[i]
             list.append(app)
    return list

#根据名称获取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的所以  ,by_name:Sheet1名称
def excel_table_byname(file= ,by_name=u'Sheet1'):
    data = open_excel(file)
    table = data.sheet_by_name(by_name)
    nrows = table.nrows #行数
    colnames =  table.row_values(colnameindex) #某一行数据
    list =[]
    ,nrows):
         row = table.row_values(rownum)
         if row:
             app = {}
             for i in range(len(colnames)):
                app[colnames[i]] = row[i]
             list.append(app)
    return list

def main():
   tables = excel_table_byindex()
   for row in tables:
       print row

   tables = excel_table_byname()
   for row in tables:
       print row

if __name__=="__main__":
    main()

python操作excel表格文件--使用xlrd模块的更多相关文章

  1. python操作excel表格详解(xlrd/xlwt)

    http://www.2cto.com/kf/201501/373655.html http://blog.csdn.net/b_h_l/article/details/17001395 利用pyth ...

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

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

  3. 【转】python操作excel表格(xlrd/xlwt)

    [转]python操作excel表格(xlrd/xlwt) 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异, ...

  4. 转载:python操作excel表格(xlrd/xlwt)

    python操作excel表格(xlrd/xlwt)   最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而 ...

  5. python - 操作excel表格

    说明:由于公司oa暂缺,人事妹子在做考勤的时候,需要通过几个excel表格去交叉比对员工是否有旷工或迟到,工作量大而且容易出错. 这时候it屌丝的机会来啦,花了一天时间给妹子撸了一个自动化脚本. 1. ...

  6. Python 利用Python操作excel表格之xlwt介绍

    利用Python操作excel表格之xlwt介绍   by:授客 QQ:1033553122 直接上代码   案例1 #!/usr/bin/env python # -*- coding:utf-8 ...

  7. python读取Excel表格文件

    python读取Excel表格文件,例如获取这个文件的数据 python读取Excel表格文件,需要如下步骤: 1.安装Excel读取数据的库-----xlrd 直接pip install xlrd安 ...

  8. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  9. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

随机推荐

  1. Coderforce-574C Bear and Poker(素数唯一分解定理)

    题目大意:给出n个数,问能不能通过让所有的数都乘以2的任意幂或乘以3的任意幂,使这n个数全都相等. 题目分析:最终n个数都是相等的,假设那个数为x,根据素数唯一分解定理,x能分解成m*2p3q.所以, ...

  2. orm框架的使用

    Install npm install orm Node.js Version Support Supported: 0.12 - 6.0 + Tests are run on Travis CI I ...

  3. xtrabackup三种备份和还原(一)

    写这边博客心情不是太美好(博客已经停更2个多月了,实在是没心情学习新东西.2018我的黑暗年,呵呵)好了,不废话了,本文没有任何原理的部分,我也是刚开始接触xtrabackup这个工具.本文应该是一个 ...

  4. BZOJ2958 序列染色

    果然清华集训的题目...显然的DP题但是不会做... 我们令f[i][j][w]表示状态方程 w表示到了字符串的第w个 i = 0, 1, 2分别表示k个B和k个W都没填上.k个B填上了k个W没填上. ...

  5. CSS3全新的背景图片方案

    CSS3全新的背景图片方案 firefox支持指定一个元素的ID将它作为另一个元素的背景-moz-element(#ID), webkit系支持-webkit-canvas(xxxx)动态创建一个ca ...

  6. 201621123005《Java程序设计》实验总结

    201621123005<Java程序设计>第七次实验总结 1. 本周学习总结 1.1 思维导图:Java图形界面总结 2.书面作业 1. GUI中的事件处理 1.1 写出事件处理模型中最 ...

  7. BZOJ4350: 括号序列再战猪猪侠【区间DP】

    Description 括号序列与猪猪侠又大战了起来. 众所周知,括号序列是一个只有(和)组成的序列,我们称一个括号序列S合法,当且仅当: 1.( )是一个合法的括号序列. 2.若A是合法的括号序列, ...

  8. WinForm获取当前路径汇总

    Winform获取应用程序的当前路径的方法集合汇总,值得收藏备用 具体如下, //获取当前进程的完整路径,包含文件名(进程名). string str = this.GetType().Assembl ...

  9. java实现MsOffice文档向pdf转化之OpenOffice软件

    本篇文档实现功能,将word和excel,ppt文档的文件转化成pdf格式的文档 第一步:下载第三方软件OpenOffice软件(不同的操作系统下载不同的版本) 下载地址:http://www.ope ...

  10. vue项目之webpack打包静态资源路径不准确

    摘自:https://blog.csdn.net/viewyu12345/article/details/83187815 问题 将打包好的项目部署到服务器,发现报错说图片找不到. 静态资源如js访问 ...