国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python高级 > Python如何处理Excel中的数据

Python如何处理Excel中的数据

头像

流芳

2020-06-22 15:07:523353浏览 · 0收藏 · 0评论

 

一、pandas的安装:

  1.安装pandas其实是非常简单的,pandas依赖处理Excel的xlrd??椋晕颐切枰崆鞍沧罢飧?,安装命令是:pip install xlrd

  2.开始安装pandas,安装命令是:pip install pandas

二、读取excel文件

webservice_testcase.xlsx结构如下:

1.首先我们应该先将这个??榈既?/strong>

import pandas as pd

2.读取表单中的数据:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')#这个会直接默认读取到这个Excel的第一个表单
data=sheet.head()#默认读取前5行数据
print("获取到所有的值:\n{0}".format(data))#格式化输出   

3.也可以通过指定表单名来读取数据

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx',sheet_name='userRegister')
data=sheet.head()#默认读取前5行数据
print("获取到所有的值:\n{0}".format(data))#格式化输出

4.通过表单索引来指定要访问的表单,0表示第一个表单,也可以采用表单名和索引的双重方式来定位表单,也可以同时定位多个表单,方式都罗列如下所示

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx',sheet_name=['sendMCode','userRegister'])#可以通过表单名同时指定多个
# sheet=pd.read_excel('test_data\\webservice_testcase.xlsx',sheet_name=0)#可以通过表单索引来指定读取的表单
# sheet=pd.read_excel('test_data\\webservice_testcase.xlsx',sheet_name=['sendMCode',1])#可以混合的方式来指定
# sheet=pd.read_excel('test_data\\webservice_testcase.xlsx',sheet_name=[1,2])#可以通过索引 同时指定多个
data=sheet.values#获取所有的数据,注意这里不能用head()方法
print("获取到所有的值:\n{0}".format(data))#格式化输出

二、操作Excel中的行列

1.读取制定的某一行数据:

sheet=pd.read_excel('webservice_testcase.xlsx')#这个会直接默认读取到这个Excel的第一个表单
data=sheet.ix[0].values#0表示第一行 这里读取数据并不包含表头
print("读取指定行的数据:\n{0}".format(data))

得到了如下结果:

02.png

2.读取指定的多行:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')#这个会直接默认读取到这个Excel的第一个表单
data=sheet.ix[[0,1]].values#0表示第一行 这里读取数据并不包含表头
print("读取指定行的数据:\n{0}".format(data))

得到了如下的结果:

03.png

3.读取指定行列的数据:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')#这个会直接默认读取到这个Excel的第一个表单
data=sheet.ix[0,1]#读取第一行第二列的值
print("读取指定行的数据:\n{0}".format(data))

得到了如下结果:

04.png

4.读取指定的多行多列的值:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
data=sheet.ix[[1,2],['method','description']].values#读取第二行第三行的method以及description列的值,这里需要嵌套列表
print("读取指定行的数据:\n{0}".format(data))

得到了如下的结果:

05.png

 5.读取所有行指定的列的值:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
data=sheet.ix[:,['method','description']].values#读取第二行第三行的method以及description列的值,这里需要嵌套列表
print("读取指定行的数据:\n{0}".format(data))

得到了如下的结果:

06.png

6.获取行号输出:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
print("输出行号列表",sheet.index.values)

得到了如下的结果:

07.png

7.获取列名输出:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
print("输出列标题",sheet.columns.values)

得到了如下的结果:

08.png

8.获取指定行数的值:

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
print("输出值",sheet.sample(2).values)

9.获取指定列的值

sheet=pd.read_excel('test_data\\webservice_testcase.xlsx')
print("输出值",sheet['description'].values)

得到了如下的结果:

09.png

三、将excel中的每一条数据处理成字典,然后让如一个列表中

test_data=[]
sheet = pd.read_excel(self.file_name, sheet_name=key)
for i in sheet.index.values:#获取行号的索引,并对其进行遍历:#根据i来获取每一行指定的数据 并利用to_dict转成字典
  row_data=sheet.ix[i,['id','method','description','url','param','ExpectedResult']].to_dict()
  test_data.append(row_data)

另外,我们可以把测试用例相关的东西写入一个配置文件当中,读取的时候可以根据配置文件中的内容来进行读?。?/p>

配置文件如下:

[CASECONFIG]
sheet_list={'sendMCode':'all',
             'userRegister':'all',
             'verifyUserAuth':'all',
             'bindBankCard':[]
             } 

配置文件处理.py代码如下:

import configparser
class ReadConfig:
    def read_config(self,file_path,section,option):
        cf=configparser.ConfigParser()
        cf.read(file_path,encoding="utf-8")
        value=cf.get(section,option)
        return value

project_path.py代码如下:

import os
Project_path=os.path.split(os.path.split(os.path.realpath(__file__))[0])[0]
#配置文件路径
case_config_path=os.path.join(Project_path,'config','case.config')
#测试用例的路径
test_cases_path=os.path.join(Project_path,'test_data','webservice_testcase.xlsx')

然后我们把读取excel中的内容封装成一个类,代码示例如下:

from common import project_pathfrom common.read_config import ReadConfig as RC
import  pandas  as pd

class DoExcel:
    def __init__(self,file_name):
        self.file_name=file_name
        self.sheet_list=eval(RC().read_config(project_path.case_config_path,'CASECONFIG','sheet_list'))
    def do_excel(self):
        test_data=[]
        for key in self.sheet_list:
            if self.sheet_list[key] == 'all':  # 读取所有的用例
                sheet = pd.read_excel(self.file_name, sheet_name=key)
                for i in sheet.index.values:#获取行号的索引,并对其进行遍历:
                    #根据i来获取每一行指定的数据 并利用to_dict转成字典
                    row_data=sheet.ix[i,['id','method','description','url','param','ExpectedResult']].to_dict()
                    test_data.append(row_data)
       else:
                sheet = pd.read_excel(self.file_name, sheet_name=key)
                for i in self.sheet_list[key]:#根据list中的标号去读取excel指定的用例
                    row_data=sheet.ix[i-1,['id','method','description','url','param','ExpectedResult']].to_dict()
                    test_data.append(row_data)
        return  test_data
if __name__ == '__main__':
    test_data=DoExcel(project_path.test_cases_path).do_excel()
    print(test_data)

 如果将配置改成如下内容:

[CASECONFIG]
sheet_list={'sendMCode':[1,3,5],
      'userRegister':[],
      'verifyUserAuth':[],             
      'bindBankCard':[]
           } 

我们将会得到如下的运行结果:

[{: 1, : , : , : , : , : }, 
{: 3, : , : , : , : , : }, 
{: 5, : , : , : , : , : }]

   到此,将excel中的用例数据读取成为[{key1:value1},{key2:value2},...,{keyn:valuen}]这样的形式已经完毕,但是还有很多东西需要完善,比如用例中完成参数的替换,测试完成后回写测试数据到excel对应的表格中等等内容。


       更多Python相关文章,请关注Python自学网
关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

揉鸡的正确手法图解| 女性私处蹲下拍照有疙瘩| 美国伦理《轻佻寡妇》| 有夫之妇精油按摩的功效与作用| 女性肛交一次肛门多久恢复| 后入| 15岁初中生用袜子套几几 | 《浴室吃奶2》无删减| 少女配狗视频大全播放| 老师穿白色双开真丝旗袍怎么穿| 她开始慢迎迎合张行长笔趣阁| 芬太尼问题百度百科| 退休后日大女儿的隐喻和含义| 半推半就干朋友老婆下一句怎么接| 林喜宝爸爸叫李叔叔到家是哪一集 | 《漂亮的女邻居5》HD| 厨房激战饥荒老奶奶能睡觉吗| 五姑娘影院在线观看免费版电视剧| 一边摸上面一边敷面膜| 少妇被大黑捧猛烈进出动态图| 双飞娘俩国语版电视剧免费观看| 儿子控制不住对妈妈发脾气怎么办| 借种之灭门惨案2国语版电影 | 静海天气预报| 无套内谢A片毛片免费| 黑料正能量| 巨茎挺进李淑芬的体内视频| 共享女儿小诗1~10章的背景资..| 丰满的儿女小月的身世与背景介绍| 我把刘姨俩腿扛在肩上是哪一集的| 九九影视在线观看免费最新电视剧| 芬太尼关税| 女人乱子伦xXX沧州| 善良的嫂子| 做我的爱人6集免费观看电视剧 | 粗大挺进亲女小雅小| 吨叔| 韩漫网址| 男人添女人荫道口视频| 免费网站在线观看人数在哪省 | 小莹的性荡生活第15章