接口 使用 Excel

  1. json格式的字符串,转换成一个字典
import json 
# 把json格式的字符串,转换成一个字典
json_data = '{"mobile_phone":true, "pwd":"123456","type":1}'
dict_data = json.loads(json_data)
print(dict_data)

# 得到的结果:
{'mobile_phone': True, 'pwd': '123456', 'type': 1}
  1. 字典转换成 json 字符串
import json
# 把字典转换成 json 字符串
new_dict_data = {"username":"hello","password":None, "female":False}
json_data = json.dumps(new_data_data)
print(json_data)

# 得到的结果:
{"username": "hello", "password": null, "female": false}

===============================================================
zip 用法的案例:

a = ["class", "teacher", "student"]
b = ["py37", "xj", "many", "hello"]
c = [1, 2, 3]

res = dict(zip(a,b))
print(res)

res = list(zip(a,b,c))
print(res)

#	得到的结果:
{'class': 'py37', 'teacher': 'xj', 'student': 'many'}
[('class', 'py37', 1), ('teacher', 'xj', 2), ('student', 'many', 3)]

========================================================
1、安装

		pip install openpyxl

如何使用 Excel 中的接口用例:

from openpyxl import load_workbook

Excel_path = r"C:\PyCharm_test\python_Test\接口自动化\xj\05\testcases\注册接口用例.xlsx"
wb = load_workbook(Excel_path)
""" 加载一个 Excel 得到工作簿 """

sh = wb["注册"]		#	选择一个表单 - 通过表单名 - 选择的 Sheet

cell_value = sh.cell(2,3).value
""" 在选择的表单当中,读取某个单元格的数据、修改/写入数据到某个单元格   Cell
	读取 选择 第二行 第三列
"""
print(cell_value)

# sh.cell(2,3).value = "get"	#	修改 第二行 第三列 的数据  修改时记得把 Excel 关掉
# wb.save(Excel_path)
""" 一旦做了修改,就要保存,保存的时候,记得是全面保存。
        filename如果不是打开的excel文件,那就是另存为
        如果是打开的excel文件,保存到原文件中
        保存的时候,要保证没有其它程序在使用当前文件。否则会报错:Permission Error
"""

row_nums = sh.max_row		#	获取最大总行号  row 代表行
col_nums = sh.max_column	#	获取最大总列号  column 代表列

keys = []					#	定义一个空列表
for col_index in range(1,sh.max_column+1):		#	for col_index 里 从(1,最大列+1)
    keys.append(sh.cell(1,col_index).value)		#	keys列表.添加(注册表单.中(1,所有的列).值)
print(keys)  									#	打印 keys 列表 得到列表中的每一个值

for row_index in range(2, sh.max_row + 1):		#	for row_index 里 从(1,行+1)
    values = []									#	定义 一个空列表
    for col_index in range(1, sh.max_column + 1):	#	for col_index 里 从(1,最大列+1)
        values.append(sh.cell(row_index, col_index).value)	#	keys列表.添加(注册表单.中(所有的行,所有的列).值)
    case = dict(zip(keys,values))				#	把 keys列表 跟 values列表 合并,并且转化为字典
    print(case)									#	打印 case 字典

===============================
封装 如何使用 Excel

from openpyxl import load_workbook

class MyExcel:

    def __init__(self, excel_path, sheet_name): 
        wb = load_workbook(excel_path)		# 1、加载一个excel,得到工作薄 Workbook
        self.sh = wb[sheet_name]			 # 2、选择一个表单- 通过表单名 Sheet

    def read_data(self):
        # 注意:接口的请求数据,读取出来是字符串。
        
        all_data = []				 # 存储表单下读取到的所有数据 - 每一个成员都是一个字典; 所以定义一个空列表
        data = list(self.sh.values)  # 获取所有的列名
        keys = data[0] 				 # 获取 data 的第一个值
        for row in data[1:]:		 # for row 在 data里面循环[从 1 开始 :]
            row_dict = dict(zip(keys, row))		# row_dict = 把 keys 跟 row 合并,并且转化为字典
            all_data.append(row_dict)			# all_data 列表.添加 (row_data)
        return all_data				 # 返回 all_data

# 调式代码:执行当前的模块。
if __name__ == '__main__':
    # excel的文件路径
    excel_path = r"D:\Pychram-Workspace\py37-接口自动化\day5\testdatas\测试用例.xlsx"
    me = MyExcel(excel_path, "注册接口")
    cases = me.read_data()
    for case in cases:
        print(case)

================================================================

3.pymysql的使用:

安装:
pip install pymysql

Connection 对象

  • 用于建立与数据库的连接

  • 创建对象:调用connect()方法

      conn = connect(参数列表)
    
  • 参数host:连接的MySQL主机,如果本机是“localhost”

  • 参数post:连接的MySQL主机端口,默认是3306

  • 参数database:数据库的名称

  • 参数user:连接的用户名

  • 参数password:连接的密码

  • 参数charset:通信采用的编码方式,推荐使用utf8(注意(不要使用 utf-8 ,否则会报错。)

对象的方法

  • close()关闭连接
  • commit()提交
  • cursor()返回Cursor对象,用于执行sql语句并获得结果
import pymysql

conn = pymysql.connect(
    host="api.lemonban.com",        #   主机名 或 主机地址
    port=3306,                      #   端口
    user="future",                  #   账号
    password="123456",              #   密码
    charset="utf8"                  #   语言  注意(不要使用 utf-8 ,否则会报错。)
)
print(conn)

#   初始化游标
cursor = conn.cursor()
print(cursor)

#   执行 sql 语句
cursor.execute("SELECT * FROM test_0414.member LIMIT 10;")

#   得到查询数据
members = cursor.fetchall()
print(members)

#   得到一条记录
cursor_02 = conn.cursor()
cursor_02.execute("SELECT * FROM test_0414.member LIMIT 10;")
members = cursor_02.fetchone()
print(members)

# 游标和我们操作文件光标
# TODD: 一个游标对象,最好只获取一次,获取多次很容易出问题。

#   游标对象关闭
cursor.close()

cursor_02.close()       # 有几个游标,就要关闭几次,每个游标都要独自关闭。

#   连接对象关闭
conn.close()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值