文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用python实现读取xlsx表格

2023-06-29 01:42

关注

今天小编给大家分享一下怎么用python实现读取xlsx表格的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

前言

快要过年了,现在是工作的事情也不想干,学习也完全学不进去,关于xlsx的操作原本昨天已经写好了,不过悲催的是,忘记发布了直接关浏览器关闭后发现已经丢失了。
以下操作均对照改表格操作:

怎么用python实现读取xlsx表格

读操作

获取sheet的方法
通过索引获取sheet表格:

table = worbook.sheets()[0]
table = worbook.sheet_by_index(0)

通过sheet名称获取:

table = worbook.sheet_by_name(sheet_name='case')

获取xlsx中所有sheet:

table = worbook.sheet_names()print(table)打印:case

获取行和列
获取sheet中有效行数:

row = table.nrowsprint(row)打印:8

获取sheet中有效列数:

col = table.ncolsprint(col)打印:10

获取一行中有多少列数据:

col = table.row_len(0)print(col)

获取指定行中的所有数据:

'''rowx表示是获取第几行的数据start_col表示从索引为多少开始,end_colx表示从索引为多少结束end_colx为None表示结束没有限制获取指定行中的数据并以列表的形式返回'''table_list = table.row_values(rowx=0, start_colx=0, end_colx=None)print(table_list)打印:['run', 'headers', 'pre_case_id', 'pre_fields', 'request_body', 'expect_result', 'assert_type', 'pass', 'update_time', 'response']

获取列中的数据:

'''colx表示是获取第几列的数据start_rowx表示从索引为多少开始,end_rowx表示索引为多少结束end_rowx为None表示结束没有限制获取指定列中的数据并以列表的形式返回'''table_list = table.col_values(colx=0, start_rowx=0, end_rowx=None)print(table_list)打印:['run', 'yes', 'no', 'yes', 'no', 'no', 'no', 'no']

获取单元格中值
获取指定单元格中的值:

table = worbook.sheet_by_name(sheet_name='case')value = table.cell_value(rowx=0, colx=1)print(value)打印:headers

下面写个例子吧,就是将所有run为yes的行打印出来,其实在日常工作中就是将run为yes的用例执行一遍啦,虽然我们并不用excel来存储测试用例。这里直接将其定义成一个装饰器吧。

import xlrdclass Readxlrd():    def __init__(self,func):        self.func = func    def __call__(self, *args, **kwargs):        self.func(*args)        worbook = xlrd.open_workbook(filename=args[0])        table = worbook.sheet_by_name(sheet_name=args[1])        row = table.nrows        for i in range(row):            if i >= 1:                combined_dict = {}                table_list = table.row_values(rowx=i, start_colx=0, end_colx=None)                table_head = table.row_values(rowx=0, start_colx=0, end_colx=None)                for k, v in zip(table_head, table_list):                    combined_dict[k] = v                if combined_dict['run'] == 'yes':                    print(combined_dict)@Readxlrddef test(route,sheet):    print('输入的路径为{},输入的sheet是{}'.format(route,sheet))打印:输入的路径为C:\Users\86182\Desktop\case.xlsx,输入的sheet是case{'run': 'yes', 'headers': '{"Content-Type": "application/x-www-form-urlencoded"}', 'pre_case_id': -1.0, 'pre_fields': '[]', 'request_body': '{"phone": "18262966312", "pwd": "123456"}', 'expect_result': '0', 'assert_type': 'code', 'pass': 'True', 'update_time': 44447.6884722222, 'response': ''}{'run': 'yes', 'headers': '{"token":"token"}', 'pre_case_id': 1.0, 'pre_fields': '[{"field":"token","scope":"header"}]', 'request_body': '{}', 'expect_result': '0', 'assert_type': 'code', 'pass': 'True', 'update_time': 44447.6892476852, 'response': ''}

以上就是“怎么用python实现读取xlsx表格”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯