In [7]:

import pandas as pd
filname = 'ch02数据导入\\student.xlsx'
data = pd.read_excel(filname)
data
Out[7]:
 

  姓名 年龄 爱好 学号 学费
0 张三 20 打球 12 5000
1 李四 21 游泳 13 6000
2 周五 23 唱歌 14 7000
3 赵六 25 下棋 15 500
4 王七 20 跑步 16 60
5 朱八 28 旅游 17 300
In [9]:
# 打印前3行数据
data.head(3)
Out[9]:
 

  姓名 年龄 爱好 学号 学费
0 张三 20 打球 12 5000
1 李四 21 游泳 13 6000
2 周五 23 唱歌 14 7000
In [10]:
# 打印[1-3)行数据
data[1:3]
Out[10]:
 

  姓名 年龄 爱好 学号 学费
1 李四 21 游泳 13 6000
2 周五 23 唱歌 14 7000
In [11]:
# 根据列名,打印某一列数据
data['姓名']
Out[11]:
0    张三
1 李四
2 周五
3 赵六
4 王七
5 朱八
Name: 姓名, dtype: object
In [12]:
# 查看所有字段
field = data.columns.tolist()
field
Out[12]:
['姓名', '年龄', '爱好', '学号', '学费']
In [13]:
# 只显示第四行
data.loc[4]
Out[13]:
姓名    王七
年龄 20
爱好 跑步
学号 16
学费 60
Name: 4, dtype: object
In [15]:
# 打印多个列数据,需要双层[[]]
data[["姓名", "年龄"]]
Out[15]:
 

  姓名 年龄
0 张三 20
1 李四 21
2 周五 23
3 赵六 25
4 王七 20
5 朱八 28
In [16]:
# 查看基础数据
# mean = 均值
# std = 方差
data.describe() # 只针对数值型
Out[16]:
 

  年龄 学号 学费
count 6.000000 6.000000 6.000000
mean 22.833333 14.500000 3143.333333
std 3.188521 1.870829 3195.632436
min 20.000000 12.000000 60.000000
25% 20.250000 13.250000 350.000000
50% 22.000000 14.500000 2750.000000
75% 24.500000 15.750000 5750.000000
max 28.000000 17.000000 7000.000000
In [17]:
data2 = pd.read_excel(filname,header=None)
data2
Out[17]:
 

  0 1 2 3 4
0 姓名 年龄 爱好 学号 学费
1 张三 20 打球 12 5000
2 李四 21 游泳 13 6000
3 周五 23 唱歌 14 7000
4 赵六 25 下棋 15 500
5 王七 20 跑步 16 60
6 朱八 28 旅游 17 300
In [18]:
data2.values
Out[18]:
array([['姓名', '年龄', '爱好', '学号', '学费'],
['张三', 20, '打球', 12, 5000],
['李四', 21, '游泳', 13, 6000],
['周五', 23, '唱歌', 14, 7000],
['赵六', 25, '下棋', 15, 500],
['王七', 20, '跑步', 16, 60],
['朱八', 28, '旅游', 17, 300]], dtype=object)
In [21]:
data.values
Out[21]:
array([['张三', 20, '打球', 12, 5000],
['李四', 21, '游泳', 13, 6000],
['周五', 23, '唱歌', 14, 7000],
['赵六', 25, '下棋', 15, 500],
['王七', 20, '跑步', 16, 60],
['朱八', 28, '旅游', 17, 300]], dtype=object)
In [22]:
data.index
Out[22]:
RangeIndex(start=0, stop=6, step=1)
 

pandas参数说明

pandas.read_excel(io, sheet_name=0, header=0, skiprows=None, skip_footer=0, index_col=None, names=None, usecols=None, parse_dates=False, date_parser=None, na_values=None, thousands=None, convert_float=True, converters=None, dtype=None, true_values=None, false_values=None, engine=None, squeeze=False, **kwds)

 

1.io :excel 路径;

In [24]:
data3 = pd.read_excel(io=filname)
data3
Out[24]:
 

  姓名 年龄 爱好 学号 学费
0 张三 20 打球 12 5000
1 李四 21 游泳 13 6000
2 周五 23 唱歌 14 7000
3 赵六 25 下棋 15 500
4 王七 20 跑步 16 60
5 朱八 28 旅游 17 300
 

2.sheetname:默认是sheetname为0,返回多表使用sheetname=[0,1],若sheetname=None是返回全表 。注意:int/string返回的是dataframe,而none和list返回的是dict of dataframe。

In [32]:
data3 = pd.read_excel(filname,sheet_name=[0,1])
data3
Out[32]:
OrderedDict([(0,    姓名  年龄  爱好  学号    学费
0 张三 20 打球 12 5000
1 李四 21 游泳 13 6000
2 周五 23 唱歌 14 7000
3 赵六 25 下棋 15 500
4 王七 20 跑步 16 60
5 朱八 28 旅游 17 300), (1, 动物 植物
0 小猫 花
1 小狗 树)])
In [37]:
data3 = pd.read_excel(filname,sheet_name=0)
data3
Out[37]:
 

  姓名 年龄 爱好 学号 学费
0 张三 20 打球 12 5000
1 李四 21 游泳 13 6000
2 周五 23 唱歌 14 7000
3 赵六 25 下棋 15 500
4 王七 20 跑步 16 60
5 朱八 28 旅游 17 300
In [38]:
data3 = pd.read_excel(filname,sheet_name=1)
data3
Out[38]:
 

  动物 植物
0 小猫
1 小狗
 

3.header :指定作为列名的行,默认0,即取第一行,数据为列名行以下的数据;若数据不含列名,则设定 header = None;

In [39]:
data3 = pd.read_excel(filname,sheet_name=0,header=None)
data3
Out[39]:
 

  0 1 2 3 4
0 姓名 年龄 爱好 学号 学费
1 张三 20 打球 12 5000
2 李四 21 游泳 13 6000
3 周五 23 唱歌 14 7000
4 赵六 25 下棋 15 500
5 王七 20 跑步 16 60
6 朱八 28 旅游 17 300
In [40]:
data3 = pd.read_excel(filname,sheet_name=0,header=2)
data3
Out[40]:
 

  李四 21 游泳 13 6000
0 周五 23 唱歌 14 7000
1 赵六 25 下棋 15 500
2 王七 20 跑步 16 60
3 朱八 28 旅游 17 300
 

4.skiprows:省略指定行数的数据

In [42]:
data3 = pd.read_excel(filname, sheet_name=0, skiprows=1)
data3
Out[42]:
 

  张三 20 打球 12 5000
0 李四 21 游泳 13 6000
1 周五 23 唱歌 14 7000
2 赵六 25 下棋 15 500
3 王七 20 跑步 16 60
4 朱八 28 旅游 17 300
 

5.skipfooter:省略从尾部数的行数据

In [44]:
data3 = pd.read_excel(filname, sheet_name=0, skipfooter=1)
data3
Out[44]:
 

  姓名 年龄 爱好 学号 学费
0 张三 20 打球 12 5000
1 李四 21 游泳 13 6000
2 周五 23 唱歌 14 7000
3 赵六 25 下棋 15 500
4 王七 20 跑步 16 60
 

6.index_col :指定列为索引列,也可以使用 u’string’

In [46]:
data3 = pd.read_excel(filname, sheet_name=0, index_col=1)
data3
Out[46]:
 

  姓名 爱好 学号 学费
年龄        
20 张三 打球 12 5000
21 李四 游泳 13 6000
23 周五 唱歌 14 7000
25 赵六 下棋 15 500
20 王七 跑步 16 60
28 朱八 旅游 17 300
 

7.names:指定列的名字,传入一个list数据

In [49]:
data3 = pd.read_excel(filname, sheet_name=0,
names=['a', 'b', 'c', 'd', 'e'])
data3
Out[49]:
 

  a b c d e
0 张三 20 打球 12 5000
1 李四 21 游泳 13 6000
2 周五 23 唱歌 14 7000
3 赵六 25 下棋 15 500
4 王七 20 跑步 16 60
5 朱八 28 旅游 17 300
 
 

pandas读取Excel文件的更多相关文章

  1. 用python的pandas读取excel文件中的数据

    一.读取Excel文件   使用pandas的read_excel()方法,可通过文件路径直接读取.注意到,在一个excel文件中有多个sheet,因此,对excel文件的读取实际上是读取指定文件.并 ...

  2. pandas 读取excel文件对数据简单清洗并用matplotlib 将数据展示

    首先我们看下数据 接下来数据分析操作 import numpy as np import pandas as pd from matplotlib import pyplot as plt if __ ...

  3. 深入理解pandas读取excel,txt,csv文件等命令

    pandas读取文件官方提供的文档 在使用pandas读取文件之前,必备的内容,必然属于官方文档,官方文档查阅地址 http://pandas.pydata.org/pandas-docs/versi ...

  4. 机器学习之数据预处理,Pandas读取excel数据

    Python读写excel的工具库很多,比如最耳熟能详的xlrd.xlwt,xlutils,openpyxl等.其中xlrd和xlwt库通常配合使用,一个用于读,一个用于写excel.xlutils结 ...

  5. pandas read excel文件碰到的一个小问题

    今天利用pandas读取excel时,爆出如下错误: 代码为: import pandas as pd db_eua=pd.read_excel('db_eua.xlsx',sheetname='EU ...

  6. 用pandas读取excel报错

    用pandas.read_execl()方法读取excel文件报错. 后来导入xlrd第三方库,就好了.

  7. Python 使用Pandas读取Excel的学习笔记

    这里介绍Python中使用Pandas读取Excel的方法 一.软件环境: OS:Win7 64位 Python 3.7 二.文件准备 1.项目结构: 2.在当前实验文件夹下建立一个Source文件夹 ...

  8. pandas处理excel文件和csv文件

    一.csv文件 csv以纯文本形式存储表格数据 pd.read_csv('文件名'),可添加参数engine='python',encoding='gbk' 一般来说,windows系统的默认编码为g ...

  9. C# 读取EXCEL文件的三种经典方法

    1.方法一:采用OleDB读取EXCEL文件: 把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下: public DataSet ExcelToDS(string Path) { stri ...

随机推荐

  1. java 强弱软虚 四种引用,以及用到的场景

    1.利用软引用和弱引用解决OOM问题:用一个HashMap来保存图片的路径和相应图片对象关联的软引用之间的映射关系,在内存不足时,JVM会自动回收这些缓存图片对象所占用的空间,从而有效地避免了OOM的 ...

  2. SpringMVC - <mvc:default-servlet-handler/> 导致 Controller失效

    原文地址:http://blog.csdn.net/j080624/article/details/66969987

  3. SpringBoot整合Shiro实现权限控制,验证码

    本文介绍 SpringBoot 整合 shiro,相对于 Spring Security 而言,shiro 更加简单,没有那么复杂. 目前我的需求是一个博客系统,有用户和管理员两种角色.一个用户可能有 ...

  4. 编译rxtx

    https://blog.csdn.net/github_29989383/article/details/51886234 https://cloud.tencent.com/developer/a ...

  5. 通过nginx访问本地图片

    listen 80; server_name image.demo.com; #charset koi8-r; #access_log logs/host.access.log main; locat ...

  6. WCF 配置说明

    关于WCF中的地址和绑定,需要补充一下. WCF中支持的传输协议包括HTTP.TCP.Peer network(对等网).IPC(基于命名管道的内部进程通信)以及MSMQ(微软消息队列),每个协议对应 ...

  7. lua源码学习篇四:字节码指令

    在llimits.h文件中定义了指令的类型.其实就是32个字节. typedef lu_int32 Instruction; 上节说到变量最终会存入proto的数组k中,返回的索引放在expdesc ...

  8. 快速入门分布式消息队列之 RabbitMQ(2)

    目录 目录 前文列表 RabbitMQ 的特性 Message Acknowledgment 消息应答 Prefetch Count 预取数 RPC 远程过程调用 vhost 虚拟主机 插件系统 最后 ...

  9. httpd启动显示Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName'

    AH00557: httpd: apr_sockaddr_info_get() failed for masterAH00558: httpd: Could not reliably determin ...

  10. 全局namespace与模块内的namespace

    declare global{ declare namespace xxx } 相当于 在一个js文件的顶级部分 declare namespace xxx 声明的都是全局的namespace, 如果 ...