zoukankan      html  css  js  c++  java
  • Python 实现Excel自动化办公《上》

    欢迎关注【无量测试之道】公众号,回复【领取资源】,
    Python编程学习资源干货、
    Python+Appium框架APP的UI自动化、
    Python+Selenium框架Web的UI自动化、
    Python+Unittest框架API自动化、

    资源和代码 免费送啦~
    文章下方有公众号二维码,可直接微信扫一扫关注即可。

     

    今天的文章分享Python 如何轻松操作Excel 这款office 办公软件的,在Python 中你要针对某个对象进行操作,是需要安装与其对应的第三方库的,这里对于Excel 也不例外,它也有对应的第三方库,即xlrd 库。

    什么是xlrd库

    Python 操作Excel 主要用到xlrd和xlwt这两个库,即xlrd是读Excel ,xlwt是写Excel 的库。今天主要讲讲xlrd这个库。

    常用单元格中的数据类型

    1. empty(空的)

    2. string(text)

    3. number

    4. date

    5. boolean

    6. error

    7. blank(空白表格)

    安装

    首先来安装一下xlrd, 安装非常简单,一条命令即可搞定:
    python -m pip install xlrd
    不报错说明模块安装成功

    代码演示

     1 import xlrd
     2 import xlwt
     3 data = xlrd.open_workbook("test.xls") #打开一个excel文件
     4 table=data.sheet_by_name("good")#通过sheet名查找good
     5  
     6  
     7 #针对excel中sheet操作
     8 print('sheet_names:', data.sheet_names()) # 获取所有sheet名字
     9 print('sheet_number:', data.nsheets ) # 获取sheet数量
    10 print('sheet is load:',data.sheet_loaded(2)) #通过name or index来检查某个sheet是否导入完毕
    11 print('sheet_object:', data.sheets() ) # 获取所有sheet对象,返回一个xlrd.sheet.Sheet()对象列表
    12 print('By_name:', data.sheet_by_name("test")) # 通过sheet名查找,返回一个xlrd.sheet.Sheet()对象
    13 print('By_index:', data.sheet_by_index(1) ) # 通过索引查找,返回一个xlrd.sheet.Sheet()对象
    14  
    15 #针对sheet的行的操作
    16 print("该sheet中的有效行数:",table.nrows) #获取该sheet中的有效行数
    17 print("该行对象组成的列表:",table.row(1)) #返回由该行中所有的单元格对象组成的列表
    18 print("该行对象组成的列表:",table.row_slice(1)) #返回由该行中所有的单元格对象组成的列表,与上面的效果一致
    19 print("该行数据类型组成的列表:",table.row_types(1)) #返回由该行中所有单元格的数据类型组成的列表
    20 print("该行数据组成的列表:",table.row_values(0)) #返回由该行中所有单元格的数据组成的列表
    21 print("该列的有效单元格长度:",table.row_len(1)) #返回该列的有效单元格长度
    22  
    23 #针对sheet的列的操作
    24 print("该sheet中的有效列数:",table.ncols) #获取该sheet中的有效列数
    25 print("该列中所有的单元格对象组成的列表:",table.col(1)) #返回由该列中所有的单元格对象组成的列表
    26 print("该列中所有的单元格对象组成的列表:",table.col_slice(1)) #返回由该列中所有的单元格对象组成的列表,与上面的效果一致
    27 print("该列中所有单元格的数据类型组成的列表:",table.col_types(1)) #返回由该列中所有单元格的数据类型组成的列表
    28 print("该列中所有单元格的数据组成的列表:",table.col_values(1)) #返回由该列中所有单元格的数据组成的列表
    29  
    30 #针对单元格的操作
    31 # #针对单元格的操作
    32 print("返回指定单元格对象:",table.cell(0,0))   #返回单元格对象
    33 print("返回指定单元格对象:",table.cell(0,0).value)   #返回单元格对象的值
    34 print("返回指定单元格对象的数据类型:",table.cell_type(1,1))    #返回单元格中的数据类型
    35 print("返回指定单元格对象的数据:",table.cell_value(0,0))   #返回单元格中的数据,等同于table.cell(0,0).value

    输出结果展示

    引用的Excel 数据格式如下:

    总结:今天主要是分享了Python 如何来操作Excel 里面的sheet,row,col,cell 等Excel 里面的元素,有了这些基础我们就可以在后面做我们想要做的了,比如:api 自动化时需要从Excel 里面获取要组织的请求数据,或者是回写我们请求后的响应值等。

    说明:如果有想要演示的测试数据的,可以关注公众号留言哟~

    备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:

     添加关注,让我们一起共同成长!

  • 相关阅读:
    codechef Dynamic GCD [树链剖分 gcd]
    bzoj 4546: codechef XRQRS [可持久化Trie]
    bzoj 4835: 遗忘之树 [树形DP]
    bzoj 4033: [HAOI2015]树上染色 [树形DP]
    bzoj 4591: [Shoi2015]超能粒子炮·改 [lucas定理]
    3167: [Heoi2013]Sao [树形DP]
    bzoj 3812: 主旋律 [容斥原理 状压DP]
    有标号的二分图计数 [生成函数 多项式]
    有标号DAG计数 [容斥原理 子集反演 组合数学 fft]
    BZOJ 3028: 食物 [生成函数 隔板法 | 广义二项式定理]
  • 原文地址:https://www.cnblogs.com/Wu13241454771/p/13572710.html
Copyright © 2011-2022 走看看