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

二、pandas操作Excel的行列

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

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

 df2=pd.read_excel('xiong.xls',sheet_name=1)

 rows_data = []
for i in df2.index.values:
row_data = df2.ix[i,['姓名','年龄','民族','籍贯']].to_dict()
rows_data.append(row_data) print(rows_data)

最终打印结果:

[{'姓名': '小米', '年龄': 21, '民族': '汉', '籍贯': '北京'}, {'姓名': '王三', '年龄': 32, '民族': '汉', '籍贯': '河南'}, {'姓名': '李四', '年龄': 22, '民族': '蒙古', '籍贯': '蒙古'}, {'姓名': '小张', '年龄': 25, '民族': '汉', '籍贯': '四川'}, {'姓名': '思思', '年龄': 23, '民族': '维吾尔', '籍贯': '新疆'}]

【python基础】利用pandas处理Excel数据的更多相关文章

  1. Python利用pandas处理Excel数据的应用

    Python利用pandas处理Excel数据的应用   最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...

  2. [Pandas]利用Pandas处理excel数据

    Python 处理excel的第三包有很多,比如XlsxWriter.xlrd&xlwt.OpenPyXL.Microsoft Excel API等,最后综合考虑选用了Pandas. Pand ...

  3. pandas玩转excel-> (2)如何利用pandas读取excel数据文件

    import pandas as pd #将excel文件读到内存中,形成dataframe,并命名为peoplepeople=pd.read_excel('D:/python结果/task2/Peo ...

  4. pandas玩转excel-> (1)如何利用pandas创建excel数据文件

    #在Anaconda3 的Spyder中   #定义pandas模块为pd import pandas as pd   #创建一个新的DataFrame对象,定义这个对象中有两个字段:ID和Name, ...

  5. 【Python自动化Excel】pandas处理Excel数据的基本流程

    这里所说的pandas并不是大熊猫,而是Python的第三方库.这个库能干嘛呢?它在Python数据分析领域可是无人不知.无人不晓的.可以说是Python世界中的Excel. pandas库处理数据相 ...

  6. Python数据分析之Pandas读写外部数据文件

    1 引言 数据分析.数据挖掘.可视化是Python的众多强项之一,但无论是这几项中的哪一项都必须以数据作为基础,数据通常都存储在外部文件中,例如txt.csv.excel.数据库.本篇中,我们来捋一捋 ...

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

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

  8. 利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图、折线图、饼图

    利用pandas读取Excel表格,用matplotlib.pyplot绘制直方图.折线图.饼图 数据: 折线图代码: import  pandas  as pdimport  matplotlib. ...

  9. 利用PHPExcel 实现excel数据的导入导出(源码实现)

    利用PHPExcel 实现excel数据的导入导出(源码实现) 在开发过程中,经常会遇到导入导出的需求,利用phpexcel类实现起来也是比较容易的,下面,我们一步一步实现 提前将phpexcel类下 ...

随机推荐

  1. 卷积、矩阵乘积、高斯模糊滤波(降噪)、空域计算(2D卷积计算)、频域计算(FFT)的理解

    矩阵乘积:对应行列对应元素相乘的和组成新的矩阵 两个矩阵的乘法仅当第一个矩阵A的列数和另一个矩阵B的行数相等时才能定义.如A是m×n矩阵和B是n×p矩阵,它们的乘积C是一个m×p矩阵 并将此乘积记为: ...

  2. Java知多少(76)语言包(java.lang)简介

    Java语言包(java.lang)定义了Java中的大多数基本类,由Java语言自动调用,不需要显示声明.该包中包含了Object类,Object类是整个类层次结构的根结点,同时还定义了基本数据类型 ...

  3. ESN 与 MEID

    ESN (Electronic Serial Numbers):电子序列号.在CDMA 系统中,是鉴别一个物理硬件设备唯一的标识.也就是说每个手机都用这个唯一的ID来鉴别自己, 就跟人的身份证一样.一 ...

  4. Java8使用@sun.misc.Contended避免伪共享(False Sharing)

    伪共享(False Sharing) Java8中用sun.misc.Contended避免伪共享(false sharing) Java8使用@sun.misc.Contended避免伪共享

  5. (实用)pip源

    Pypi官方源网站的连接速度实在慢点出奇,可以更换为豆瓣的源 vim ~/.pip/pip.conf 添加如下内容即可: [global]index-url=http://pypi.doubam.co ...

  6. LVS DR模式搭建 keepalived lvs

    LVS DR模式搭建• 三台机器 • 分发器,也叫调度器(简写为dir)172.16.161.130 • rs1 172.16.161.131 • rs2 172.16.161.132 • vip 1 ...

  7. CALayer 知识:创建带阴影效果的圆角图片图层和创建自定义绘画内容图层

    效果如下: KMLayerDelegate.h #import <UIKit/UIKit.h> @interface KMLayerDelegate : NSObject @end KML ...

  8. @Transactional(readOnly=true) in Spring

    http://www.skill-guru.com/blog/2010/12/19/transactionalreadonlytrue-in-spring/ @Transactional(readOn ...

  9. python模块和类的通用转换规则(2),三步转oo

    介绍模块和类怎么互相转换,不谈面向对象的继承 封装 多态等特点. 一个person_module模块,有人的基本属性和功能. person_module.py如下 # coding=utf8 name ...

  10. SpringBoot切换Tomcat容器,SpringBoot使用Jetty容器

    SpringBoot切换Tomcat容器, SpringBoot修改为Jetty容器, SpringBoot使用undertow容器, SpringBoot使用Jetty容器 ============ ...