接口自动化框架(Python)之 四,读取exlce表格

简介: 接口自动化框架(Python)之 四,读取exlce表格
# -*- coding:utf-8 -*-
# @Time   : 2019-10-23
# @Author : carl_dj
import xlrd
from Interface_python3.public import config
from Interface_python3.public.log import Log
class ReadExcel(object):
    # 参数excel_path是文件的绝对路径,sheet_name是表名
    def __init__(self, excel_path, sheet_name="Sheet1"):
        self.data = xlrd.open_workbook(excel_path)  # 根据路径打开一个文件
        self.table = self.data.sheet_by_name(sheet_name)  # 根据表名打开表
        self.keys = self.table.row_values(0)  # 获取第一行作为字典的key值
        self.rowNum = self.table.nrows  # 获取总行数
        self.colNum = self.table.ncols  # 获取总列数
        self.log = Log("读取excel").get_logger()
    # 获取整张表的数据(数据装在列表中,列表的每个子元素是字典类型数据)
    def get_dict_data(self):
        if self.rowNum <= 1:
            self.log.error('xlsx表的总行数小于1')
        else:
            r = []  # 定义列表变量,把读取的每行数据拼接到此列表中
            for row in range(1, self.rowNum):  # 对行进行循环读取数据,从第二行开始
                s = {}  # 定义字典变量
                s['rowNum'] = row + 1  # 存储行数,从第二行开始读,行数等于下标加1
                values = self.table.row_values(row)  # 获取行的数据
                for col in range(0, self.colNum):  # 对列进行循环读取数据
                    cell_value = values[col]
                    if isinstance(cell_value, (int, float)):  # 判断读取数据是否是整型或浮点型
                        cell_value = int(cell_value)  # 是,数据转换为整数
                    s[self.keys[col]] = str(cell_value).strip()  # 获取到单元格数据(去掉头尾空格)和key组成键对值
                r.append(s)  # 把获取到行的数据装入r列表中
            return r  # 返回整个表的数据
if __name__ == "__main__":
    file_path = config.test_data_path + 'test.xlsx'
    sheetName = "test"
    sheet = ReadExcel(file_path, sheetName)
    data = sheet.get_dict_data()
    print(data[0]['checkpoint'])
    print(type(data[0]['checkpoint']))
    print(data)
目录
相关文章
|
7天前
|
数据采集 存储 API
网络爬虫与数据采集:使用Python自动化获取网页数据
【4月更文挑战第12天】本文介绍了Python网络爬虫的基础知识,包括网络爬虫概念(请求网页、解析、存储数据和处理异常)和Python常用的爬虫库requests(发送HTTP请求)与BeautifulSoup(解析HTML)。通过基本流程示例展示了如何导入库、发送请求、解析网页、提取数据、存储数据及处理异常。还提到了Python爬虫的实际应用,如获取新闻数据和商品信息。
|
13天前
|
存储 缓存 JavaScript
python实战篇:利用request库打造自己的翻译接口
python实战篇:利用request库打造自己的翻译接口
26 1
python实战篇:利用request库打造自己的翻译接口
|
23天前
|
Web App开发 Python
在ModelScope中,你可以使用Python的浏览器自动化库
在ModelScope中,你可以使用Python的浏览器自动化库
15 2
|
10天前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
【4月更文挑战第9天】本文对比了Python三大Web框架Django、Flask和Pyramid。Django功能全面,适合快速开发,但学习曲线较陡;Flask轻量灵活,易于入门,但默认配置简单,需自行添加功能;Pyramid兼顾灵活性和可扩展性,适合不同规模项目,但社区及资源相对较少。选择框架应考虑项目需求和开发者偏好。
|
29天前
|
数据采集 数据挖掘 调度
异步爬虫实践攻略:利用Python Aiohttp框架实现高效数据抓取
本文介绍了如何使用Python的Aiohttp框架构建异步爬虫,以提升数据抓取效率。异步爬虫利用异步IO和协程技术,在等待响应时执行其他任务,提高效率。Aiohttp是一个高效的异步HTTP客户端/服务器框架,适合构建此类爬虫。文中还展示了如何通过代理访问HTTPS网页的示例代码,并以爬取微信公众号文章为例,说明了实际应用中的步骤。
|
4天前
|
前端开发 数据挖掘 API
使用Python中的Flask框架进行Web应用开发
【4月更文挑战第15天】在Python的Web开发领域,Flask是一个备受欢迎的轻量级Web框架。它简洁、灵活且易于扩展,使得开发者能够快速地构建出高质量的Web应用。本文将深入探讨Flask框架的核心特性、使用方法以及在实际开发中的应用。
|
6天前
|
关系型数据库 数据库 开发者
Python中的Peewee框架:轻量级ORM的优雅之旅
【4月更文挑战第13天】在Python的众多ORM框架中,Peewee以其轻量级、简洁和易于上手的特点,受到了许多开发者的青睐。Peewee的设计理念是“小而美”,它提供了基本的ORM功能,同时保持了代码的清晰和高效。本文将深入探讨Peewee的核心概念、使用场景以及实战应用,帮助读者更好地理解和使用这一框架。
|
6天前
|
SQL API 数据库
Python中的SQLAlchemy框架:深度解析与实战应用
【4月更文挑战第13天】在Python的众多ORM(对象关系映射)框架中,SQLAlchemy以其功能强大、灵活性和易扩展性脱颖而出,成为许多开发者首选的数据库操作工具。本文将深入探讨SQLAlchemy的核心概念、功能特点以及实战应用,帮助读者更好地理解和使用这一框架。
|
6天前
|
Web App开发 测试技术 网络安全
|
7天前
|
开发者 索引 Python
实践:如何使用python在网页的表格里抓取信息
实践:如何使用python在网页的表格里抓取信息

热门文章

最新文章