python pandas excel数据处理_Python利用pandas处理Excel数据的应用
python如何将列表导出为csv文件
import pandas as pd
list=[[1,2,3],[4,5,6],[7,8,9]]
column=['column1','column2','column3'] //列表对应每列的列名
test=pd.DataFrame(columns=column,data=list)
test.to_csv('D:/test.csv') //如果生成excel,可以用to_excel
注意:list里的字段值可以用for循环实现。
最近迷上了高效处理数据的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("获取到所有的值:\n{0}".format(data))#格式化输出
得到的结果是一个二维矩阵,如下所示:
#方法二:通过指定表单名的方式来读取
df=pd.read_excel('lemon.xlsx',sheet_name='student')#可以通过sheet_name来指定读取的表单
data=df.head()#默认读取前5行的数据
print("获取到所有的值:\n{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("获取到所有的值:\n{0}".format(data))#格式化输出
具体结果是怎样的,同学们可以自己一个一个的去尝试,这个结果是非常有意思的,但是同时同学们也发现了,这个数据是一个二维矩阵,对于我们去做自动化测试,并不能很顺利的处理,所以接下来,我们就会详细的讲解,如何来读取行号和列号以及每一行的内容 以及制定行列的内容。
三、pandas操作Excel的行列
1:读取指定的单行,数据会存在列表里面
#1:读取指定行
df=pd.read_excel('lemon.xlsx')#这个会直接默认读取到这个Excel的第一个表单
data=df.ix[0].values#0表示第一行 这里读取数据并不包含表头,要注意哦!
print("读取指定行的数据:\n{0}".format(data))
得到的结果如下所示:
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:获取指定行数的值:
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("输出值\n",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 pandas excel数据处理_Python利用pandas处理Excel数据的应用相关推荐
- python办公自动化(9)利用pandas的行列转换处理排班表
python办公自动化(9)利用pandas的行列转换处理排班表 原始数据: 处理效果: 1.pandas行转列 #!/usr/bin/python # -*- coding: gbk -*- imp ...
- 【Python有趣打卡】利用pandas完成数据分析项目(二)——爬微信好友+分析
今天依然是跟着罗罗攀学习数据分析,原创:罗罗攀(公众号:luoluopan1) Python有趣|数据可视化那些事(二) 今天主要是学习pyecharts(http://pyecharts.org/# ...
- python 将excel文件转换为txt文件_python利用pandas将excel文件转换为txt文件的方法
python将数据换为txt的方法有很多,可以用xlrd库实现.本人比较懒,不想按太多用的少的插件,利用已有库pandas将excel文件转换为txt文件. 直接上代码: ''' function:将 ...
- python excel文件转换成字符串_python利用pandas将excel文件转换为txt文件的方法
python将数据换为txt的方法有很多,可以用xlrd库实现.本人比较懒,不想按太多用的少的插件,利用已有库pandas将excel文件转换为txt文件. 直接上代码: ''' function:将 ...
- python pandas excel数据处理_Python处理Excel数据-pandas篇
Python处理Excel数据-pandas篇 非常适用于大量数据的拼接.清洗.筛选及分析 在计算机编程中,pandas是Python编程语言的用于数据操纵和分析的软件库.特别是,它提供操纵数值表格和 ...
- python计算csv文件内的数据_Python利用pandas计算多个CSV文件数据值的实例
功能:扫描当前目录下所有CSV文件并对其中文件进行统计,输出统计值到CSV文件 pip install pandas import pandas as pd import glob,os,sys in ...
- python用pandas读取excel_Python 中利用Pandas处理复杂的Excel数据
关于Excel数据处理,很多同学可能使用过Pyhton的pandas模块,用它可以轻松地读取和转换Excel数据.但是实际中Excel表格结构可能比较杂乱,数据会分散不同的工作表中,而且在表格中分布很 ...
- c语言读取excel表格_利用pandas处理excel表格
这不是一篇详细介绍pandas的文章,只是我在利用python处理excel表格时找到的一些临时方案,为了避免忘记,记录在这里,也可能对你有帮助. pandas在对excel处理上使用的是xlrd和x ...
- pandas后台导出excel_利用pandas将numpy数组导出生成excel
代码 # -*- coding: utf- -*- """ Created on Sun Jun :: @author: Bruce Lau ""&q ...
最新文章
- 地图样式自定义_干货在线 | ArcGIS中定义图框样式
- db2查看表结构_mysql误删数据库表的frm文件和ibd文件?试试这样恢复
- LeetCode 452 Minimum Number of Arrows to Burst Balloons(贪心法)
- Ubuntu ADSL 拨号上网时断时续问题
- React入门---react脚手架
- QT的QIntValidator类的使用
- javaweb学习总结(三十八)——事务
- 常用的函数式接口_Predicate接口_默认方法ornegate
- 后端学习 - JVM(上)内存与垃圾回收
- oracle左连接没用_一周零基础学完Oracle数据库第三天02
- vue与elementUI中给el-input绑定键盘按键--按键修饰符
- 19款探岳刷隐藏教程_三星S10系列如何隐藏导航栏 官微“手把手”教你设置
- 微课|Python程序设计开发宝典(5.1.2节):嵌套函数定义2
- Key ssd_300_vgg/block3_box/L2Normalization/gamma not found in checkpoint的解决方案
- iOS build 编译错误 Failed to emit precompiled header for bridging header
- 异步社区本周新上电子书
- 如何成为一名优秀的iOS开发工程师
- html5怎么播放3gp,写了个html5播放视频的video控件,只支持mp4和3gp(android和ios默认支持的格式就写了这个)...
- 计算机内存和外存的主要区别是什么,计算机的存储系统一般有内存和外存,试述内存与外存的主要区别。...
- Android~ java.net.BindException: bind failed: EADDRINUSE (Address already in use)
热门文章
- 操作系统--进程调度实验报告
- 2017 icpc 西安赛区 B.Coin(推公式+二项式定理)
- 如何解除计算机远程控制,如何远程控制另一台电脑?
- Android开发应用案例——简易计算器(附完整源码)
- Dcloud产品HbuilderX、uniapp你用过吗
- XmlDocument to Byte[] and bytes[] to xmldocument or xdocument.
- Oracle sql创建序列sequence
- 基于51单片机的多功能电子万年历设计(LCD12864+DS1302+DS18B20)
- Qt中的网络编程(TCP)
- PS中矢量形状图层的合并交叉等运算