1 版本的键和值是通过index来对应的
2版本是可以通过 zip 函数来对应的
读取Excel的时候里面的值读出来都是string 比如字典,那我们需要试是字典而不是string,这时候我们需要用eval 函数
rez 是一行数据
res 是列名称
rez["res"] = eval(rez["res"]) # 重点 将res的字符串,转换为字典对象 (res 是第3列数据的 列名)
eval 函数(字符串)转成Python语句执行 原本是什么就读出来是什么
li1 = ['name', 'password', 'res']
li2 = ["nanwu", '123456', {"code": 0, "message": "登陆成功"}]
res = zip(li1, li2)
print(dict(res))
# print(list(res))
# eval 函数(字符串)转成Python语句执行
import os
from openpyxl import load_workbook
file_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "test_excel.xlsx")
wb = load_workbook(file_path)
sh = wb["login"]
# 表头列名
titles = []
for item in list(sh.rows)[0]:
titles.append(item.value)
print(titles)
all_datas = []
for item in list(sh.rows)[1:]:
values = []
for val in item:
values.append(val.value)
print(values)
rez = dict(zip(titles, values)) # title和每一行数据,打包成字典
rez["res"] = eval(rez["res"]) # 重点 将res的字符串,转换为字典对象 (res 是第3列数据的 列名)
print(rez)
all_datas.append(rez) # 追加到所有测试数据中
print(all_datas)