1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > Python 读取excel文件中的数据并转换为字典

Python 读取excel文件中的数据并转换为字典

时间:2019-11-23 05:19:44

相关推荐

Python 读取excel文件中的数据并转换为字典

利用利用xlrd读取excel文件

在做自动化测试的时候,采用了将测试数据用例保存在excel表格中,然后从excel表格中读取数据。所以就有必要将excel数据转换为dict

例如:

需要将下图excel中数据

转换为:

{'姓名': 'A37', '密码': 'Q123', '业务类型': '传统直销业务', '车主电话': '166666666', '车辆性质': '家庭自用汽车', '车牌颜色': '蓝'}{'姓名': 'A38', '密码': 'Q123', '业务类型': '传统直销业务', '车主电话': '166666666', '车辆性质': '非营业机关、事业团体客车', '车牌颜色': '绿'}{'姓名': 'A39', '密码': 'Q123', '业务类型': '个人代理业务', '车主电话': '166666666', '车辆性质': '非营业货车', '车牌颜色': '蓝'}

就是前面的索引固定为表里面黄色部分,然后每一行为一个dict,这样只需要设计测试用例就行了,不管测试用例是增加还是减少,只需要在表格里面按照这个格式填写,不需要修改代码就能做到做到测试用例的增删改查,及其方便。

实现代码:

# coding=utf-8import xlrddef get_data(dir_case, sheetnum):#如果路径下xlsx文件很多,可以把文件名做一个拼接传入文件名这个参数# dir_case = 'F:\\code\\csdn\\cese_excel\\' + filename + '.xlsx''''获取其中一张sheettable = data.sheet_by_name(data.sheet_names()[0])sheet的行数与列数table.nrows, table.ncols'''data = xlrd.open_workbook(dir_case)table = data.sheets()[sheetnum]nor = table.nrowsnol = table.ncolsdict = {}for i in range(1, nor):for j in range(nol):title = table.cell_value(0, j)value = table.cell_value(i, j)# print valuedict[title] = valueyield dict''' • yield 是一个类似 return 的关键字,只是这个函数返回的是个生成器• 当你调用这个函数的时候,函数内部的代码并不立马执行 ,这个函数只是返回一个生成器对象• 当你使用for进行迭代的时候,函数中的代码才会执行'''if __name__ == '__main__':for i in get_data(r'D:\test_data.xlsx',0):print (i)

代码效果:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。