pandas读取Excel文件

In [7]:

import pandas as pd
filname = 'ch02数据导入\\student.xlsx'
data = pd.read_excel(filname)
data
Out[7]:
 
 姓名年龄爱好学号学费
0张三20打球125000
1李四21游泳136000
2周五23唱歌147000
3赵六25下棋15500
4王七20跑步1660
5朱八28旅游17300
In [9]:
# 打印前3行数据
data.head(3)
Out[9]:
 
 姓名年龄爱好学号学费
0张三20打球125000
1李四21游泳136000
2周五23唱歌147000
In [10]:
# 打印[1-3)行数据
data[1:3]
Out[10]:
 
 姓名年龄爱好学号学费
1李四21游泳136000
2周五23唱歌147000
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]:
 
 年龄学号学费
count6.0000006.0000006.000000
mean22.83333314.5000003143.333333
std3.1885211.8708293195.632436
min20.00000012.00000060.000000
25%20.25000013.250000350.000000
50%22.00000014.5000002750.000000
75%24.50000015.7500005750.000000
max28.00000017.0000007000.000000
In [17]:
data2 = pd.read_excel(filname,header=None)
data2
Out[17]:
 
 01234
0姓名年龄爱好学号学费
1张三20打球125000
2李四21游泳136000
3周五23唱歌147000
4赵六25下棋15500
5王七20跑步1660
6朱八28旅游17300
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打球125000
1李四21游泳136000
2周五23唱歌147000
3赵六25下棋15500
4王七20跑步1660
5朱八28旅游17300
 

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打球125000
1李四21游泳136000
2周五23唱歌147000
3赵六25下棋15500
4王七20跑步1660
5朱八28旅游17300
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]:
 
 01234
0姓名年龄爱好学号学费
1张三20打球125000
2李四21游泳136000
3周五23唱歌147000
4赵六25下棋15500
5王七20跑步1660
6朱八28旅游17300
In [40]:
data3 = pd.read_excel(filname,sheet_name=0,header=2)
data3
Out[40]:
 
 李四21游泳136000
0周五23唱歌147000
1赵六25下棋15500
2王七20跑步1660
3朱八28旅游17300
 

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

In [42]:
data3 = pd.read_excel(filname, sheet_name=0, skiprows=1)
data3
Out[42]:
 
 张三20打球125000
0李四21游泳136000
1周五23唱歌147000
2赵六25下棋15500
3王七20跑步1660
4朱八28旅游17300
 

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

In [44]:
data3 = pd.read_excel(filname, sheet_name=0, skipfooter=1)
data3
Out[44]:
 
 姓名年龄爱好学号学费
0张三20打球125000
1李四21游泳136000
2周五23唱歌147000
3赵六25下棋15500
4王七20跑步1660
 

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

In [46]:
data3 = pd.read_excel(filname, sheet_name=0, index_col=1)
data3
Out[46]:
 
 姓名爱好学号学费
年龄    
20张三打球125000
21李四游泳136000
23周五唱歌147000
25赵六下棋15500
20王七跑步1660
28朱八旅游17300
 

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

In [49]:
data3 = pd.read_excel(filname, sheet_name=0,
                      names=['a', 'b', 'c', 'd', 'e'])
data3
Out[49]:
 
 abcde
0张三20打球125000
1李四21游泳136000
2周五23唱歌147000
3赵六25下棋15500
4王七20跑步1660
5朱八28旅游17300
 
 

转载于:https://www.cnblogs.com/xinmomoyan/p/10875792.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值