- 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}
- 字典转换成 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()