panda读取Excel
pandas读取Excel的第一种方法
方法一:默认读取第一个表单
import pandas
print("\n方法一:")
xls_data=pd.read_excel('ceshi.xlsx',index_col='序列') #index_col 分行编号
这个会直接默认读取到这个Excel的第一个表单
print(xls_data.head()) #默认读取前5行的数据
print("输出:\n{0}".format(xls_data.head()))#格式化输出
方法二:通过指定表单名的方式来读取
print("\n方法二:")
df=pd.read_excel('ceshi.xlsx',sheet_name='Sheet2')
data=df.head() #默认读取前5行的数据
print("获取到所有的值:\n{0}".format(data))#格式化输出
方法三:通过表单索引来指定要访问的表单,0表示第一个表单
也可以采用表单名和索引的双重方式来定位表单
也可以同时定位多个表单,方式都罗列如下所示
print("\n方法三:")
df=pd.read_excel('ceshi.xlsx',sheet_name=['Sheet1','Sheet2'])
可以通过表单名同时指定多个--不推荐使用,效果不好
df=pd.read_excel('ceshi.xlsx',sheet_name=['Sheet2',0])
可以混合的方式来指定--不推荐使用,效果不好
df=pd.read_excel('ceshi.xlsx',sheet_name=1)
可以通过表单索引来指定读取的表单--列表形式
df=pd.read_excel('ceshi.xlsx',sheet_name=[0,1])
可以通过索引 同时指定多个--不推荐使用,效果不好
data=df.values #获取所有的数据,注意这里不能用head()方法哦~
print("获取到所有的值:\n{0}".format(data))#格式化输出
以上读取的数据是一个二维矩阵,不利于处理自动化测试,
pandas操作Excel的行列
print("\npandas操作Excel的行列")
1:读取指定的单行,数据会存在列表里面
df=pd.read_excel('ceshi.xlsx')
data1=df.loc[0].values #0表示第一行 这里读取数据并不包含表头,要注意哦!
print("读取指定的单行数据:\n{0}".format(data1))
print("\n2:读取指定的多行,数据会存在嵌套的列表里面:")
2:读取指定的多行,数据会存在嵌套的列表里面:
df=pd.read_excel('ceshi.xlsx')
data2=df.loc[[1,2]].values
print("读取指定的多行数据:\n{0}".format(data2))
print("\n3:读取指定的行列")
3:读取指定的行列:
df=pd.read_excel('ceshi.xlsx')
data3=df.iloc[1,2]
print("读取指定行列的数据:\n{0}".format(data3)) #dandelion-alipaymobile
4:读取指定的多行多列值:
print("\n4:读取指定的多行多列值:")
df=pd.read_excel('ceshi.xlsx',sheet_name='Sheet2')
data4=df.loc[[1,2],['姓名','年龄','性别']]
print("读取多行多列的数据:\n{0}".format(data4))
姓名 年龄 性别
1 sun 18 女
2 zhao 19 男
5:获取所有行的指定列
print("\n5:获取所有行的指定列")
df=pd.read_excel('ceshi.xlsx',sheet_name='Sheet2')
data5=df.loc[:,['姓名','年龄','性别']].values #得到的是嵌套列表
data6=df.loc[:,['姓名','年龄','性别']] #得到二维矩阵
print("获取所有行的指定列的数据:\n{0}".format(data5)) #得到的是嵌套列表
print("获取所有行的指定列的数据:\n{0}".format(data6)) #得到二维矩阵
6:获取行号并打印输出
print("\n6:获取行号并打印输出")
df=pd.read_excel('ceshi.xlsx',sheet_name='Sheet2')
print("输出行号列表:",df.index.values)
输出行号列表: [0 1 2 3 4 5 6]
7:获取列名并打印输出
print("\n7:获取列名并打印输出")
df=pd.read_excel('ceshi.xlsx',sheet_name='Sheet2')
print("输出标题:",df.columns.values)
输出标题: ['姓名' '年龄' '性别' '出生日期']
8:随机获取几行数的值:
print("\n8:获取指定行数的值:")
df=pd.read_excel('ceshi.xlsx',sheet_name='Sheet2')
print("输出值:\n",df.sample(3).values) #随机抽取3行查看,这个方法类似于head()方法以及df.values方法
[['liu' 23 '女' '1995-05']
['wang' 17 '男' '1992-11']
['li' 20 '男' '1992-09']]
9:获取指定列的值:
print("\n9:获取指定列的值:")
df=pd.read_excel('ceshi.xlsx',sheet_name='Sheet2')
print("输出值:\n",df['姓名'].values)
pandas处理Excel数据成为字典
print("\npandas处理Excel数据成为字典")
df=pd.read_excel('ceshi.xlsx',sheet_name="Sheet2")
test_data=[]
for i in df.index.values: #获取行号的索引,并对其进行遍历:
根据i来获取每一行指定的数据 并利用to_dict转成字典
row_data=df.loc[i,['姓名','年龄','性别','出生日期']].to_dict()
test_data.append(row_data)
print(test_data)
[{'姓名': 'wang', '年龄': 17, '性别': '男', '出生日期': '1992-11'}, {'姓名': 'sun', '年龄': 18, '性别': '女', '出生日期': '1992-12'}, {'姓名': 'zhao', '年龄': 19, '性别': '男', '出生日期': '1993-01'}, {'姓名': 'zhang', '年龄': 22, '性别': '女', '出生日期': '1994-05'}, {'姓名': 'zhou', '年龄': 16, '性别': '女', '出生日期': '1992-07'}, {'姓名': 'liu', '年龄': 23, '性别': '女', '出生日期': '1995-05'}, {'姓名': 'li', '年龄': 20, '性别': '男', '出生日期': '1992-09'}]
panda读取Excel的更多相关文章
- java的poi技术读取Excel数据到MySQL
这篇blog是介绍java中的poi技术读取Excel数据,然后保存到MySQL数据中. 你也可以在 : java的poi技术读取和导入Excel了解到写入Excel的方法信息 使用JXL技术可以在 ...
- poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
/** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */ package xlsx; /** * @C ...
- C#读取Excel,或者多个excel表,返回dataset
把excel 表作为一个数据源进行读取 /// <summary> /// 读取Excel单个Sheet /// </summary> /// <param name=& ...
- PHP读取EXCEL时间
在使用php读取excel表格中的时间时得到一串数字而不是时间:40359.58333333334 excel 中的时间值是自1900年以来的天数,注意是格林威治时间php 中的时间值是自1970年以 ...
- Open Xml 读取Excel中的图片
在我的一个项目中,需要分析客户提供的Excel, 读出其中的图片信息(显示在Excel的第几行,第几列,以及图片本身). 网络上有许多使用Open Xml插入图片到Word,Excel的文章, 但 ...
- 使用Open xml 操作Excel系列之一-读取Excel
一. 安装Open Xml SDK 从微软网站下载Open xml SDK,安装SDK. 二. 在项目中添加对DocumentFormat.OpenXml库的引用
- 使用NPOI读取Excel报错ICSharpCode.SharpZipLib.Zip.ZipException:Wrong Local header signature
写了一个小程序利用NPOI来读取Excel,弹出这样的报错: ICSharpCode.SharpZipLib.Zip.ZipException:Wrong Local header signature ...
- C#读取Excel设置(亲测可用)
OpenFileDialog openFD = new OpenFileDialog(); openFD.FileName = ""; openFD.Filter = " ...
- 使用Aspose.Cells读取Excel
最新更新请访问: http://denghejun.github.io Aspose.Cells读取Excel非常方便,以下是一个简单的实现读取和导出Excel的操作类: 以下是Aspose.Ce ...
随机推荐
- 解决:C++ 中 main函数 wmain函数 _tmain函数 WinMain函数 wWInMain函数 _tWinMain函数的区别
main函数与WinMain函数区别: 前者为控制台程序入口主函数,后者为Windows API窗体程序入口函数,在windef.h文件中定义. main函数与wmain函数 | WinMain函数与 ...
- jmeter+ant+jenkins搭建接口自动化测试环境(基于win)
1.jmeter jmeter依赖java运行环境,所以需要提前下载jdk并配置好环境变量 官网下载(http://jmeter.apache.org/download_jmeter.cgi),我用的 ...
- Laravel 解决blade模板转义html标签问题
当我们使用富文本编译器(如:Ueditor编译器)保存编辑的内容后,在blade模板中,想要显示原生的html标签内容时该怎么做? 首先,了解下laravel {{ 变量名 }} 与{!! 变量名 ! ...
- systemd socket activation golang demo
service define rongapp.service [Unit] Description=rong Hello World HTTP Requires=network.target rong ...
- Thanos prometheus 集群以及多租户解决方案docker-compose 试用(一)
prometheus 是一个非常不多的metrics 监控解决方案,但是对于ha 以及多租户的处理并不是很好,当前有好多解决方案 cortex Thanos prometheus+ influxdb ...
- 59: loj #10215
$des$ https://loj.ac/problem/10215 $sol$ exgcd检查 $code$ #include <iostream> #include <cstdl ...
- 洛谷 P2872 【[USACO07DEC]道路建设Building Roads】
P2872 传送门 首先 题目概括:题目让着求使所有牧场都联通.需要修建多长的路. 显然这是一道最小生成树板子题(推荐初学者做). 那我就说一下kruskal吧. Kruskal算法是一种用来查找最小 ...
- 洛谷 P1991 无线通讯网 题解
P1991 无线通讯网 题目描述 国防部计划用无线网络连接若干个边防哨所.2 种不同的通讯技术用来搭建无线网络: 每个边防哨所都要配备无线电收发器:有一些哨所还可以增配卫星电话. 任意两个配备了一条卫 ...
- 责任链模式(chainOfResponsibility)
参考文章:http://wiki.jikexueyuan.com/project/design-pattern-behavior/chain-four.html 定义: 使多个对象都有机会处理请求,从 ...
- Unity移动端入门 - Android那些事
目录 大小1.92GB,ts格式,语言:中文 扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主