1.读取EXCEL文件数据的功能,在项目里面主要是用来读测试数据,以实现数据驱动
2.Python读取excel数据,大家都喜欢用xlrd和xlwt,还有用openpyxl的3.在Comm目录下,新建data.py,专门来处理数据4.引入pandas,直接用pandas的read_excel读excel,而且支持它原始的其它参数,只是最后将结果转了字典,方便使用
importpandasaspddefread_excel(file,**kwargs):data_dict=[]try:data=pd.read_excel(file,**kwargs)data_dict=data.to_dict('records')finally:returndata_dict
5.随便放一个excel在同一个目录下,填上数据,试一下效果。excel里面2页数据,Sheet1如下
![]()
5.1.Sheet2如下
![]()
6.调用写好的方法,打印数据
sheet1=read_excel('baidu_fanyi.xlsx')sheet2=read_excel('baidu_fanyi.xlsx',sheet_name='Sheet2')print(sheet1)print(sheet2)
6.1.运行结果
[{'req.q':'计算机\n计算机','req.from':'zh','req.to':'en','res.from':'zh','res.to':'en','res.trans_result.0.src':'计算机','res.trans_result.0.dst':'computer','res.trans_result.1.src':'计算机','res.trans_result.1.dst':'computer'},{'req.q':'computer\nexpected value','req.from':'en','req.to':'zh','res.from':'en','res.to':'zh','res.trans_result.0.src':'computer','res.trans_result.0.dst':'计算机','res.trans_result.1.src':'expected value','res.trans_result.1.dst':'苹果'}][{'req.q':'计算机','req.from':'zh','req.to':'en','res.from':'zh','res.to':'en'},{'req.q':'computer','req.from':'en','req.to':'zh','res.from':'en','res.to':'zh'}]
7.每页数据都读出来了,而且每一行都是字典形式,直接通过key就可以方便的使用
8.pandas还能直接计算数据,如通过几个列算加密签名,写动态cookie等,使用方法也很简单8.1.比如在数据中增加一列sign, 让它简单等于 req.from列+‘.aaaa.’+req.to列
data=pd.read_excel('baidu_fanyi.xlsx')data['sign']=data["req.from"]+'.aaaaa.'+data["req.to"]data_dict=data.to_dict('records')print(data_dict)