【python基础】利用pandas处理Excel数据

参考:https://www.cnblogs.com/liulinghua90/p/9935642.html

一、安装第三方库xlrd和pandas

1:pandas依赖处理Excel的xlrd模块,所以我们需要提前安装这个,安装命令是:pip install xlrd

2:步骤1准备好了之后,我们就可以开始安装pandas了,安装命令是:pip install pandas

 数据准备,有一个Excel文件:格式为 xls 或 xlsx 或 xlt,表单名分别为:学生信息,人员信息,采购信息

其中人员信息 的表单数据如下所示:

首先导入模块:

import  pandas  as pd

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

#方法一:默认读取第一个表单
df=pd.read_excel('lemon.xlsx')
#默认读取前5行的数据
data=df.head()
print("获取到所有的值:
{0}".format(data))    #格式化输出
#方法二:通过指定表单名的方式来读取
#可以通过sheet_name来指定读取的表单
df=pd.read_excel('lemon.xlsx',sheet_name='人员信息')
data=df.head()
print("获取到所有的值:
{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("获取到所有的值:
{0}".format(data))#格式化输出

二、pandas操作Excel的行列

 1 df1=pd.read_excel('201709.xls',sheet_name=0)
 2 # data=df.head()    #默认读取前5行的数据
 3 #跳过表头从第二行开始读取,将每一行内容存放在列表中
 4 #读取指定一行
 5 data = df1.ix[0].values
 6 #读取指定2、3、4行
 7 data = df1.ix[[1,2,3]].values
 8 print(data)
 9 # 读取指定行列,即B2 单元格内容
10 data = df1.ix[0,1]
11 print("获取到所有的值:
{0}".format(data))
12 #输出姓名列全部内容,返回列表
13 print("输出姓名列内容
",df1['姓名'].values)
14 # 通过表单索引来指定要访问的表单,0表示第一个表单,1表示第二个表单
15 df2=pd.read_excel('201709.xls',sheet_name=1)
16 #读取第一行第二行第三行的姓名、年龄、籍贯 列的值,这里需要嵌套列表
17 data2 = df2.ix[[0,1,2],['姓名','年龄','籍贯']].values
18 #获取所有行的指定列
19 data2 = df2.ix[:,['姓名','年龄','籍贯']].values
20 #获取行号并打印输出
21 rows_count = df2.index.values
22 #获取列名并打印输出
23 cols_count = df2.columns.values
24 #获取指定行数的值(行是随机的)
25 print(df2.sample(3).values)

三:pandas处理Excel数据成为字典

1 df2=pd.read_excel('xiong.xls',sheet_name=1)
2 
3 rows_data = []
4 for i in df2.index.values:
5     row_data = df2.ix[i,['姓名','年龄','民族','籍贯']].to_dict()
6     rows_data.append(row_data)
7 
8 print(rows_data)

最终打印结果:

[{'姓名': '小米', '年龄': 21, '民族': '', '籍贯': '北京'}, {'姓名': '王三', '年龄': 32, '民族': '', '籍贯': '河南'}, {'姓名': '李四', '年龄': 22, '民族': '蒙古', '籍贯': '蒙古'}, {'姓名': '小张', '年龄': 25, '民族': '', '籍贯': '四川'}, {'姓名': '思思', '年龄': 23, '民族': '维吾尔', '籍贯': '新疆'}]
原文地址:https://www.cnblogs.com/XJT2018/p/10149079.html