最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做自动化测试的时候,如果涉及到数据的读取和存储,那么而利用pandas就会非常高效,基本上3行代码可以搞定你20行代码的操作!该教程仅仅限于结合柠檬班的全栈自动化测试课程来讲解下pandas在项目中的应用,这仅仅只是冰山一角,希望大家可以踊跃的去尝试和探索!

一、安装环境:

1:pandas依赖处理Excel的xlrd模块,所以我们需要提前安装这个,安装命令是:pip install xlrd

2:安装pandas模块还需要一定的编码环境,所以我们自己在安装的时候,确保你的电脑有这些环境:Net.4 、VC-Compiler以及winsdk_web,如果大家没有这些软件~可以咨询我们的辅导员索要相关安装工具。

3:步骤1和2 准备好了之后,我们就可以开始安装pandas了,安装命令是:pip install pandas

一切准备就绪,就可以开始愉快的玩耍咯!

ps:在这个过程中,可能会遇到安装不顺利的情况,万能的度娘有N种解决方案,你这么大应该要学着自己解决问题。

二、pandas操作Excel表单

数据准备,有一个Excel文件:lemon.xlsx有两个表单,表单名分别为:Python 以及student,

Python的表单数据如下所示:

student的表单数据如下所示:

1:在利用pandas模块进行操作前,可以先引入这个模块,如下:

import pandas as pd

2:读取Excel文件的两种方式:

#方法一:默认读取第一个表单

df=pd.read_excel('lemon.xlsx')#这个会直接默认读取到这个Excel的第一个表单

data=df.head()#默认读取前5行的数据

print("获取到所有的值: {0}".format(data))#格式化输出

得到的结果是一个二维矩阵,如下所示:

#方法二:通过指定表单名的方式来读取

df=pd.read_excel('lemon.xlsx',sheet_name='student')#可以通过sheet_name来指定读取的表单

data=df.head()#默认读取前5行的数据

print("获取到所有的值: {0}".format(data))#格式化输出

得到的结果如下所示,也是一个二维矩阵:

#方法三:通过表单索引来指定要访问的表单,0表示第一个表单

#也可以采用表单名和索引的双重方式来定位表单

#也可以同时定位多个表单,方式都罗列如下所示

df=pd.read_excel('lemon.xlsx',sheet_name=['python','student'])#可以通过表单名同时指定多个

# df=pd.read_excel('lemon.xlsx',sheet_name=0)#可以通过表单索引来指定读取的表单

# df=pd.read_excel('lemon.xlsx',sheet_name=['python',1])#可以混合的方式来指定

# df=pd.read_excel('lemon.xlsx',sheet_name=[1,2])#可以通过索引 同时指定多个

data=df.values#获取所有的数据,注意这里不能用head()方法哦~

print("获取到所有的值: {0}".format(data))#格式化输出

具体结果是怎样的,同学们可以自己一个一个的去尝试,这个结果是非常有意思的,但是同时同学们也发现了,这个数据是一个二维矩阵,对于我们去做自动化测试,并不能很顺利的处理,所以接下来,我们就会详细的讲解,如何来读取行号和列号以及每一行的内容 以及制定行列的内容。

三、pandas操作Excel的行列

1:读取指定的单行,数据会存在列表里面

#1:读取指定行

df=pd.read_excel('lemon.xlsx')#这个会直接默认读取到这个Excel的第一个表单

data=df.ix[0].values#0表示第一行 这里读取数据并不包含表头,要注意哦!

print("读取指定行的数据: {0}".format(data))

得到的结果如下所示:

2:读取指定的多行,数据会存在嵌套的列表里面:

df=pd.read_excel('lemon.xlsx')

data=df.ix[[1,2]].values#读取指定多行的话,就要在ix[]里面嵌套列表指定行数

print("读取指定行的数据: {0}".format(data))

3:读取指定的行列:

df=pd.read_excel('lemon.xlsx')

data=df.ix[1,2]#读取第一行第二列的值,这里不需要嵌套列表

print("读取指定行的数据: {0}".format(data))

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

df=pd.read_excel('lemon.xlsx')

data=df.ix[[1,2],['title','data']].values#读取第一行第二行的title以及data列的值,这里需要嵌套列表

print("读取指定行的数据: {0}".format(data))

5:获取所有行的指定列

df=pd.read_excel('lemon.xlsx')

data=df.ix[:,['title','data']].values#读所有行的title以及data列的值,这里需要嵌套列表

print("读取指定行的数据: {0}".format(data))

6:获取行号并打印输出

df=pd.read_excel('lemon.xlsx')

print("输出行号列表",df.index.values)

输出结果是:

输出行号列表 [0 1 2 3]

7:获取列名并打印输出

df=pd.read_excel('lemon.xlsx')

print("输出列标题",df.columns.values)

运行结果如下所示:

输出列标题 ['case_id' 'title' 'data']

8:获取指定行数的值:

df=pd.read_excel('lemon.xlsx')

print("输出值",df.sample(3).values)#这个方法类似于head()方法以及df.values方法

输出值

[[2 '输入错误的密码' '{"mobilephone":"18688773467","pwd":"12345678"}']

[3 '正常充值' '{"mobilephone":"18688773467","amount":"1000"}']

[1 '正常登录' '{"mobilephone":"18688773467","pwd":"123456"}']]

9:获取指定列的值:

df=pd.read_excel('lemon.xlsx')

print("输出值 ",df['data'].values)

四:pandas处理Excel数据成为字典

我们有这样的数据,

,处理成列表嵌套字典,且字典的key为表头名。

实现的代码如下所示:

df=pd.read_excel('lemon.xlsx')

test_data=[]

for i in df.index.values:#获取行号的索引,并对其进行遍历:

#根据i来获取每一行指定的数据 并利用to_dict转成字典

row_data=df.ix[i,['case_id','module','title','http_method','url','data','expected']].to_dict()

test_data.append(row_data)

print("最终获取到的数据是:{0}".format(test_data))

最后得到的结果是:

最终获取到的数据是:

[{'title': '正常登录', 'case_id': 1, 'data': '{"mobilephone":"18688773467","pwd":"123456"}'},

{'title': '输入错误的密码', 'case_id': 2, 'data': '{"mobilephone":"18688773467","pwd":"12345678"}'},

{'title': '正常充值', 'case_id': 3, 'data': '{"mobilephone":"18688773467","amount":"1000"}'},

{'title': '充值输入负数', 'case_id': 4, 'data': '{"mobilephone":"18688773467","amount":"-100"}'}]

关于pandas的学习,今天就告一段落啦!赶紧打开pycharm跑起来!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

python在excel中的应用-Python利用pandas处理Excel数据的应用详解相关推荐

  1. python处理列表中字典_Python 列表、元组、字典及集合操作详解

    一.列表 列表是Python中最基本的数据结构,是最常用的Python数据类型,列表的数据项不需要具有相同的类型 列表是一种有序的集合,可以随时添加和删除其中的元素 列表的索引从0开始 1.创建列表 ...

  2. Python笔记:网络爬虫之模拟人人网登录及获取数据的过程详解

    概述 使用urllib模拟人人网的登录的过程 使用urllib模拟人人网登录后获取个人数据的过程 使用urllib模拟登录及获取个人数据的过程 使用requests模拟登录及获取个人数据的过程 重点了 ...

  3. excel运行python自定义函数_终于,可以在Excel中直接使用Python!

    大家好,我是早起. 经常给大家推荐好用的数据分析工具,也收到了铁子们的各种好评.这次也不例外,我要再推荐一个,而且是个爆款神器. Excel和Jupyter Notebok都是我每天必用的工具,而且两 ...

  4. 终于,可以在Excel中直接使用Python!

    Excel和Jupyter Notebok都是我每天必用的工具,而且两个工具经常协同工作,一直以来工作效率也还算不错.但说实在,毕竟是两个工具,使用的时候肯定会有一些切换的成本. 最近,在逛GitHu ...

  5. Python实现大学绩点计算——利用pandas对excel处理

    Python实现大学绩点计算--利用pandas对excel处理 pandas处理excel pandas读取excel pandas创建新的excel 编写代码计算大学绩点 更新时间 pandas处 ...

  6. Python之Pandas:利用pandas实现行数据添加,即将字典格式的数据,按照行数据,从头开始循环添加到dataframe中

    Python之Pandas:利用pandas实现行数据添加,即将字典格式的数据,按照行数据,从头开始循环添加到dataframe中e中 目录 利用pandas实现行数据添加,即将字典格式的数据,按照行 ...

  7. python可以在excel中应用吗,python怎样在excel中应用?-Python教程

    python正在excel中使用的办法:起首[return sorted(s)]正在内陆建设一个目次,并保留这个代码并定名为[Methods.py]:而后关上Excel,填写一些数据以便提供pytho ...

  8. python 将excel文件转换为txt文件_python利用pandas将excel文件转换为txt文件的方法

    python将数据换为txt的方法有很多,可以用xlrd库实现.本人比较懒,不想按太多用的少的插件,利用已有库pandas将excel文件转换为txt文件. 直接上代码: ''' function:将 ...

  9. python excel文件转换成字符串_python利用pandas将excel文件转换为txt文件的方法

    python将数据换为txt的方法有很多,可以用xlrd库实现.本人比较懒,不想按太多用的少的插件,利用已有库pandas将excel文件转换为txt文件. 直接上代码: ''' function:将 ...

  10. 初学python,利用pandas读取excel出现乱码的问题

    初学python,利用pandas读取excel出现乱码的问题 初学python,利用pandas读取excel文件时,出现中文乱码: 左侧出现中文乱码 解决过程: 初始判断是是pandas读取中文出 ...

最新文章

  1. 变换域隐写术检测分析
  2. generator (2)
  3. [JZOJ5281]钦点题解--瞎搞+链表
  4. Mac下django简单安装配置步骤
  5. c#将http调用返回额json中的有关中文的unicode转换为中文
  6. Taro+react开发(44)taro基本使用
  7. REVERSE-PRACTICE-BUUCTF-13
  8. javacript中的mvc设计模式
  9. [转]ubuntu server:开机自动登录
  10. 安卓端华为推送集成笔记
  11. 【104】Maven3.5.0结合eclipse使用,提示Lambda expressions are allowed only at source level 1.8 or above错误的解决方法
  12. Jenkins 新版本及插件在Windows下的安装
  13. 最大表示法--环形字符串最大字典序(HDU 5442)
  14. AI健身房真的存在?比炒概念更可怕的是VENTO已经做出来了
  15. 计算机的组策略在什么地方,WINDOWS的常用组策略
  16. pycharm清华镜像源使用
  17. 看机器学习如何预测债券收益率
  18. Python 进行debug的错误most likely due to a circular import
  19. kafka消费组和分区关系详解
  20. 机房监控系统解说—防火墙篇

热门文章

  1. leetcode 226. Invert Binary Tree
  2. 2019 年 C++ 的发展
  3. 微信公众号的分享功能
  4. python 数据验证
  5. js在for循环中绑定事件
  6. Angular-cli生成组件修改css成less或sass
  7. mysql用户权限设置
  8. 全排列 ---java
  9. PHP NULL 合并运算符
  10. R语言入门学习笔记 - 对R软件的认识