参考: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. 海量数据中找top K专题

    1. 10亿个数中找出最大的1000个数 这种题目就是分治+堆排序. 为啥分治?因为数太多了,全部加载进内存不够用,所以分配到多台机器中,或者多个文件中,但具体分成多少份,视情况而定,只要保证满足内存 ...

  2. jquery.pagination.js 新增 首页 尾页 功能

    jquery.pagination.js 新增 首页 尾页 功能 废话不多说,直接上修改后的代码,修改部分已经用 update 注释包含 17-20行 99-103行 141-145行 /** * T ...

  3. Login failed for user 'IIS APPPOOL\ASP.NET v4.0'

    Looks like it's failing trying to open a connection to SQL Server. You need to add a login to SQL Se ...

  4. 【转帖】2015年2月份最佳的免费 UI 工具包

    2015年2月份最佳的免费 UI 工具包 设计师们最喜欢 UI 工具包,这是一种思路拓展的方法,同时可以利用它们来解决各种复杂的项目,同时可用来了解其他设计师的风格.这里我们收集了最近这一个月一些最棒 ...

  5. 面向切面编程AOP,一些通用装饰器

    1.一些装饰器,可以减少重复编写.比较常用的. 用的时候函数上面加上装饰器就可以.这是一些装饰器,加在函数或者方法上,减少了很多重复代码. 除此之外工作中也用一些mixin类大幅减少代码. impor ...

  6. mysql性能调整三板斧

    大意是,用2/8原则,多快好省的解决大部分事情.所以三板斧,仅限整体调整,不牵扯具体细节. 1.innodb 使用innodb引擎 2.innodb_buffer_pool 调整和innodb有关的参 ...

  7. iOS - UIAlertController三种显示提示框代码

    UIAlertView在IOS 8以上版本已经过时了,官方推荐我们使用UIAlertController代替UIAlertView.UIActionSheet 1、UIAlertController显 ...

  8. C#自定义按钮、自定义WinForm无边框窗体、自定义MessageBox窗体

    C#自定义按钮.自定义WinForm无边框窗体.自定义MessageBox窗体 C#自定义Button按钮控件 效果展示 C#自定义Winform无边框窗体 效果展示 C#自定义无边框MessageB ...

  9. 理解xwindows

    大名鼎鼎的 X Window 大家肯定不陌生.都知道它是 Unix/Linux 下面的窗口系统,也都知道它基于 Server/Clinet 架构.在网上随便搜一搜,也可以找到不少 X Window 的 ...

  10. 正则表达式中,[\s\S]* 什么意思

    https://blog.csdn.net/haoyuedangkong_fei/article/details/53781936 例如:[a-z]表示从a到z之间的任意一个. 不是这样的吗?谁能给我 ...