Python使用pandas处理Excel

2019/8/30 9:43:19

Category 软件技术 Tag python,excel,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表单

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

import  pandas  as pd

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


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

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

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

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


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

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

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

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


#方法三:通过表单索引来指定要访问的表单,0表示第一个表单

#也可以采用表单名和索引的双重方式来定位表单

#也可以同时定位多个表单,方式都罗列如下所示

df=pd.read_excel('文件.xlsx',sheet_name=['python','student'])#可以通过表单名同时指定多个

# df=pd.read_excel('文件.xlsx',sheet_name=0)#可以通过表单索引来指定读取的表单

# df=pd.read_excel('文件.xlsx',sheet_name=['python',1])#可以混合的方式来指定

# df=pd.read_excel('文件.xlsx',sheet_name=[1,2])#可以通过索引 同时指定多个

data=df.values#获取所有的数据,注意这里不能用head()方法哦~

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


三、pandas操作Excel的行列

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

#1:读取指定行

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

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

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

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

df=pd.read_excel('文件.xlsx')

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

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

3:读取指定的行列:

df=pd.read_excel('文件.xlsx')

data=df.ix[1,2]#读取第一行第二列的值,这里不需要嵌套列表

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

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

df=pd.read_excel('文件.xlsx')

data=df.ix[[1,2],['title','data']].values#读取第一行第二行的title以及data列的值,这里需要嵌套列表

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

5:获取所有行的指定列

df=pd.read_excel('文件.xlsx')

data=df.ix[:,['title','data']].values#读所有行的title以及data列的值,这里需要嵌套列表

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

6:获取行号并打印输出

df=pd.read_excel('文件.xlsx')

print("输出行号列表",df.index.values)

输出结果是:

输出行号列表 [0 1 2 3]

7:获取列名并打印输出

df=pd.read_excel('文件.xlsx')

print("输出列标题",df.columns.values)

运行结果如下所示:

输出列标题 ['case_id' 'title' 'data']

8:获取指定行数的值:

df=pd.read_excel('文件.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('文件.xlsx')

print("输出值 ",df['data'].values)