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

一、安装环境:

[

复制代码

](javascript:void(0); "复制代码")

 1:pandas依赖处理Excel的xlrd模块,所以我们需要提前安装这个,安装命令是:pip install xlrd 2:安装pandas模块还需要一定的编码环境,所以我们自己在安装的时候,确保你的电脑有这些环境:Net.4 、VC-Compiler以及winsdk_web,如果大家没有这些软件~可以咨询我们的辅导员索要相关安装工具。 3:步骤1和2 准备好了之后,我们就可以开始安装pandas了,安装命令是:pip install pandas

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

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

[

复制代码

](javascript:void(0); "复制代码")二、pandas操作Excel表单

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

Python的表单数据如下所示:

image

student的表单数据如下所示:

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

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

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

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

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

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

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

image

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

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

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

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

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

image

[

复制代码

](javascript:void(0); "复制代码")

#方法三:通过表单索引来指定要访问的表单,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("获取到所有的值:\n{0}".format(data))#格式化输出

[

复制代码

](javascript:void(0); "复制代码")

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

三、pandas操作Excel的行列

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

#1:读取指定行

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

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

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

得到的结果如下所示:

image

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

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

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

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

3:读取指定的行列:

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

data=df.ix[1,2]#读取第一行第二列的值,这里不需要嵌套列表 print("读取指定行的数据:\n{0}".format(data))

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

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

data=df.ix[[1,2],['title','data']].values#读取第一行第二行的title以及data列的值,这里需要嵌套列表 print("读取指定行的数据:\n{0}".format(data))

5:获取所有行的指定列

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

data=df.ix[:,['title','data']].values#读所有行的title以及data列的值,这里需要嵌套列表 print("读取指定行的数据:\n{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:获取指定行数的值:

[

复制代码

](javascript:void(0); "复制代码")

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"}']]

[

复制代码

](javascript:void(0); "复制代码")

9:获取指定列的值:

df=pd.read_excel('lemon.xlsx') print("输出值\n",df['data'].values)

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

我们有这样的数据,

image

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

实现的代码如下所示:

[

复制代码

](javascript:void(0); "复制代码")

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))

[

复制代码

](javascript:void(0); "复制代码")

最后得到的结果是:

最终获取到的数据是:

[{'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跑起来!!!

import pandas as pd

from sqlalchemy import create_engine

file = r"line6.xlsx"

df = pd.read_excel(file)

print(df)

df.to_sql('testexcel',con=engine,if_exists='replace',index=False)

python读excel并写入_Python读取Excel文件并写入数据库相关推荐

  1. python读yaml的库_Python读取YAML文件过程详解

    这篇文章主要介绍了Python读取YAML文件过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Python读取方法: import yaml ...

  2. java解析csv文件写入mysql_java读取cvs文件并导入数据库

    本文实例为大家分享了java读取cvs文件并导入数据库的具体代码,供大家参考,具体内容如下 首先获取文件夹下面的所有类型相同的excel,可以用模糊匹配contains("匹配字段" ...

  3. python读excel成数组_python读取excel数据 python怎么从excel中读取数据?

    python怎么从excel中读取数据?分母那么浩瀚,分子那么微弱.唯一就等于没有. #导入包 import xlrd #设置路径 path='C:\\Users\\jyjh\\Desktop\\da ...

  4. python 读excel一列_Python读取Excel一列并计算所有对象出现次数的方法

    第一种方法 import pandas as pd from collections import Counter data = '参赛信息.xlsx' data = pd.read_excel('参 ...

  5. python读excel 包含格式_python读取excel格式的文件

    使用 xlrd 能够很方便的读取 excel 文件内容,而且这是个跨平台的库,能够在windows,linux/unix,等平台上面使用. 简单例子importxlrd fname = "s ...

  6. python怎么读出当前时间_Python读取Excel,日期列读出来是数字的处理

    Python读取Excel,里面如果是日期,直接读出来是float类型,无法直接使用. 通过判断读取表格的数据类型ctype,进一步处理. 返回的单元格内容的类型有5种: ctype: 0 empty ...

  7. python批量读取excel表格数据_Python读取Excel数据并生成图表过程解析

    一.需求背景 自己一直在做一个周基金定投模拟,每周需要添加一行数据,并生成图表.以前一直是用Excel实现的.但数据行多后,图表大小调整总是不太方便,一般只能通过缩放比例解决. 二.需求实现目标 通过 ...

  8. python读取excel图片尺寸_Python读取excel中的图片完美解决方法

    excel中有图片是很常见的,但是通过python读取excel中的图片没有很好的解决办法. 网上找了一种很聪明的方法,原理是这样的: 1.将待读取的excel文件后缀名改成zip,变成压缩文件. 2 ...

  9. python xlrd读取excel所有数据_python读取excel进行遍历/xlrd模块操作

    我就废话不多说了,大家还是直接看代码吧~ #!/usr/bin/env python # -*- coding: utf-8 -*- import csv import xlrd import xlw ...

最新文章

  1. 交大c语言第二次作业答案,C语言程序设计第二次作业题及答案.doc
  2. HDU 1428 漫步校园
  3. 人工智能进阶必备知识
  4. 微信小程序编译 tunneling socket could not be established,cause=connect ······
  5. 【MFC】BitBlt详解
  6. OpenGL函数:wglCreateContext
  7. chrom禁用浏览器回退按钮不管用_什么?作为程序员你都工作了还不会用Git
  8. python工业自动化仿真_ABAQUS 中基于 Python 脚本语言开发实现仿真自动化操作
  9. 重磅!一文读懂线性方程组的求解方法
  10. kaggle实战_4解决高维数据分类/回归问题--房价预测
  11. TThread类详解转
  12. php 登录 post,PHP curl post登录到wordpress
  13. [转精]IO_STACK_LOCATION与IRP的一点笔记
  14. linux hid 输入设备 在window上需要额外驱动?,什么是HID兼容设备?Win10缺少HID兼容的触摸屏驱动咋办?...
  15. SSL基础:21:使用ca子命令为其他证书签名
  16. J2EE快速入门之集合框架【01】
  17. 移动光猫怎么设置虚拟服务器设置,移动光纤猫如何设置,怎样连接和设置光猫和路由器...
  18. 计算机硬盘和光驱的接口类型,请问 各位大神,我的主板硬盘接口类型和光驱接口类型...
  19. 【python数模小作业】动手‘预习‘高数之 人口预测(线性拟合)
  20. 大数据运维学习成长路线

热门文章

  1. 蚂蚁森林能量自动化收集
  2. strace命令使用方式
  3. ncnn环境搭建二 - windows下Vulkan和ncnn编译安装
  4. stm32移植lvgl
  5. jQuery 如何通过 ID 选择器 获取动态ID
  6. Python:类(class)的变量声明
  7. 一个有意思的小故事,希望以后也有这种修养,也能这样厚道
  8. 历代Android开机动画,回顾Windows历代版本开机画面:XP最经典
  9. 1 语言模型和词向量
  10. XAML C# WPF