Windows下Python使用Pandas模块操作Excel文件的教程

安装Python环境
ANACONDA是一个Python的发行版本,包含了400多个Python最常用的库,其中就包括了数据分析中需要经常使用到的Numpy和Pandas等。更重要的是,不论在哪个平台上,都可以一键安装,自动配置好环境,不需要用户任何的额外操作,非常方便。因此,安装Python环境就只需要到ANACONDA网站上下载安装文件,双击安装即可。
ANACONDA官方下载地址:https://www.continuum.io/downloads
安装完成之后,使用windows + r键打开Windows命令行,输入ipython,然后回车:

Python 2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Jan 29 2016, 14:26:21) [MSC v.1500 64 bit (AMD64)]

Type "copyright", "credits" or "license" for more information.

IPython 4.0.3 -- An enhanced Interactive Python.

?     -> Introduction and overview of IPython's features.

%quickref -> Quick reference.

help   -> Python's own help system.

object?  -> Details about 'object', use 'object??' for extra details.

如上所示,如果成功进入了Python环境,则代表安装成功。

使用pandas处理excel
在本文我以log.xls文件为例,来说明如何使用pandas处理excel文件。log.xls文件的内容如下所示:

可以看到log.xls中包含了多个的表(sheet),每个表主要包括了member和activity两个属性,相同的member ID的数据相邻的排列在一起,并且最后一行是前面所有的汇总。这里,我们假设需要提取出每个member汇总的信息,即提取每个member连续出现的最后一行的数据。如何实现呢?

这里我们就来隆重介绍Pandas,,从https://pypi.python.org/pypi/pandas/0.16.2官方下载,cmd命令行进入下载解压目录,

python setup.py install 

安装。

(PS:python的大数据模块pandas完全安装完毕后还依赖于
• NumPy: 1.6.1 or higher
• python-dateutil 1.5
• pytz
这三个模块也许要安装。
可选择依赖有(可以根据需要安装)
• SciPy: miscellaneous statistical functions
• PyTables: necessary for HDF5-based storage
• SQLAlchemy: for SQL database support. Version 0.8.1 or higher recommended.
• matplotlib: for plotting
• statsmodels
– Needed for parts of pandas.stats
• openpyxl, xlrd/xlwt
– openpyxl version 1.6.1 or higher, but lower than 2.0.0
– Needed for Excel I/O
• XlsxWriter
– Alternative Excel writer.
• boto: necessary for Amazon S3 access.

导入pandas模块:

import pandas as pd

使用import读入pandas模块,并且为了方便使用其缩写pd指代。

读入待处理的excel文件:

df = pd.read_excel('log.xls')

通过使用read_excel函数读入excel文件,后面需要替换成excel文件所在的路径。读入之后变为pandas的DataFrame对象。DataFrame是一个面向列(column-oriented)的二维表结构,且含有列表和行标,对excel文件的操作就转换为对DataFrame操作。另外,如果一个excel含有多个表,如果你只想读入其中一个可以:

df = pd.read_excel('log.xls', sheetname=1)

增加了一个参数sheetname,表示的是第几个表,从0开始计数。我上面设置的是1,也就是第二个表。

读入之后,可以先查看表头信息和每一列的数据类型:

df.dtypes

输出如下:

Member     object
Unnamed: 1  float64
Unnamed: 2  float64
Unnamed: 3  float64
Unnamed: 4  float64
Unnamed: 5  float64
家内外活动类型    object
Unnamed: 7   object
activity    object
dtype: object

提取每个member连续出现的最后一行数据:

 new_df = df.drop_duplicates(subset='Member', keep='last')

以上语句的意思是根据Member字段去除掉多余的行,并且保留相同行的最后一行数据。这些就得到了每一个member最后一行的数据了,返回了经过筛选后的DataFrame。

接下来需要将处理后的结果,保存为excel文件:

out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

output.xls是你要保存的文件名,可以任取;然后将DataFrame的内容保存到该文件,最后保存该文件到系统的磁盘上。

接下来,你就可以在当前目录看到一个新的文件,可以直接使用excel打开查看。

Pandas还提供了很多的API,可以根据具体的任务,查找API文档,找到合适的函数来完成任务。

附:一个完整的示例

#coding=utf-8
import pandas as pd

# 读入excel文件中的第2个表
df = pd.read_excel('log.xls', sheetname=1)
# 查看表的数据类型
print df.dtypes
# 查看Member列的数据
print df['Member']

'''
# 新建一列,每一行的值是Member列和activity列相同行值的和
for i in df.index:
  df['activity_2'][i] = df['Member'][i] + df['activity'][i]
'''

# 根据Member字段去除掉多余的行,并且保留相同行的最后一行数据
new_df = df.drop_duplicates(subset='Member', keep='last')
# 导出结果
out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()
(0)

相关推荐

  • Python实现对excel文件列表值进行统计的方法

    本文实例讲述了Python实现对excel文件列表值进行统计的方法.分享给大家供大家参考.具体如下: #!/usr/bin/env python #coding=gbk #此PY用来统计一个execl文件中的特定一列的值的分类 import win32com.client filename=raw_input("请输入要统计文件的详细地址:") flag=0 #用于判断文件 名如果不带'日'就为 0 if '\xc8\xd5' in filename:flag=1 print 50*'

  • Python实现的Excel文件读写类

    本文实例讲述了Python实现的Excel文件读写类.分享给大家供大家参考.具体如下: #coding=utf-8 ####################################################### #filename:ExcelRW.py #author:defias #date:2015-4-27 #function:read or write excel file #################################################

  • python通过openpyxl生成Excel文件的方法

    本文实例讲述了python通过openpyxl生成Excel文件的方法.分享给大家供大家参考.具体如下: 使用前请先安装openpyxl: easy_install openpyxl 通过这个模块可以很方便的导出数据到Excel from openpyxl.workbook import Workbook from openpyxl.writer.excel import ExcelWriter from openpyxl.cell import get_column_letter from o

  • Python操作Excel之xlsx文件

    前言 之前处理excel的读写时用的是xlrd/xlwt,但是这两个库有个缺点就是只对xls的格式处理的比较好,对以xlsx结尾的格式就不行了.由于现在大家使用的都是最新版本的office,excel的格式都是xlsx,因此此时再继续用xlrd/xlwt处理就不合适了,庆幸的是对于xlsx文件的读写,我们还可以使用openpyxl来操作. 我对excel并不熟悉,平时也不怎么用,所以对excel的处理很简单,只是简单的读写,这里演示的也是简单的读写操作,具体的高级功能,可以参考文后的链接地址.

  • python高手之路python处理excel文件(方法汇总)

    用python来自动生成excel数据文件.python处理excel文件主要是第三方模块库xlrd.xlwt.xluntils和pyExcelerator,除此之外,python处理excel还可以用win32com和openpyxl模块. 方法一: 小罗问我怎么从excel中读取数据,然后我百了一番,做下记录 excel数据图(小罗说数据要给客户保密,我随手写了几行数据): python读取excel文件代码: #!/usr/bin/env python # -*- coding: utf-

  • Python中使用第三方库xlrd来写入Excel文件示例

    继上一篇文章使用xlrd来读Excel之后,这一篇文章就来介绍下,如何来写Excel,写Excel我们需要使用第三方库xlwt,和xlrd一样,xlrd表示read xls,xlwt表示write xls,同样目前版本只支持97-03版本的Excel.xlwt下载:xlwt 0.7.4 安装xlwt 安装方式一样是python setup.py install就可以了,或者直接解压到你的工程目录中. API介绍 获取一个xls实例 复制代码 代码如下: xls = ExcelWrite.Work

  • Python中使用第三方库xlutils来追加写入Excel文件示例

    目前还没有更好的方法来追写Excel,lorinnn在网上搜索到以及之后用到的方法就是使用第三方库xlutils来实现了这个功能,主体思想就是先复制一份Sheet然后再次基础上追加并保存到一份新的Excel文档中去. 使用xlutils 代码实现如下: # -*- coding: utf-8 -*- ''' Created on 2012-12-17 @author: walfred @module: XLRDPkg.write_append @description: ''' import o

  • python使用xlrd模块读写Excel文件的方法

    本文实例讲述了python使用xlrd模块读写Excel文件的方法.分享给大家供大家参考.具体如下: 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 复制代码 代码如下: import xlrd 2.打开Excel文件读取数据 复制代码 代码如下: data = xlrd.open_workbook('excelFile.xls') 3.使用技巧 获取一个工作表

  • 使用Python操作excel文件的实例代码

    使用的类库 pip install openpyxl 操作实现 •工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 wb = Workbook() # 打开一个工作簿 wb = load_workbook('test.xlsx') # 保存工作簿到文件 wb.save('save.xlsx') •工作表操作 # 获得当前的工作表对象 ws = wb.active # 通过工作表名称得到工作表对象 ws = wb.

  • Windows下Python使用Pandas模块操作Excel文件的教程

    安装Python环境 ANACONDA是一个Python的发行版本,包含了400多个Python最常用的库,其中就包括了数据分析中需要经常使用到的Numpy和Pandas等.更重要的是,不论在哪个平台上,都可以一键安装,自动配置好环境,不需要用户任何的额外操作,非常方便.因此,安装Python环境就只需要到ANACONDA网站上下载安装文件,双击安装即可. ANACONDA官方下载地址:https://www.continuum.io/downloads 安装完成之后,使用windows + r

  • 用Python的pandas框架操作Excel文件中的数据教程

    引言 本文的目的,是向您展示如何使用pandas来执行一些常见的Excel任务.有些例子比较琐碎,但我觉得展示这些简单的东西与那些你可以在其他地方找到的复杂功能同等重要.作为额外的福利,我将会进行一些模糊字符串匹配,以此来展示一些小花样,以及展示pandas是如何利用完整的Python模块系统去做一些在Python中是简单,但在Excel中却很复杂的事情的. 有道理吧?让我们开始吧. 为某行添加求和项 我要介绍的第一项任务是把某几列相加然后添加一个总和栏. 首先我们将excel 数据 导入到pa

  • Python使用xlwt模块操作Excel的方法详解

    本文实例讲述了Python使用xlwt模块操作Excel的方法.分享给大家供大家参考,具体如下: 部分摘自官网文档. 该模块安装很简单 $ pip install xlwt 先来个简单的例子: #!/usr/bin/python #coding=utf-8 # ============================================================================== # # Filename: demo.py # Description: exc

  • 利用Python中xlwt模块操作excel的示例详解

    目录 一.安装 二.创建表格并写入 三.设置单元格样式 四.设置单元格宽度 五.设置单元格背景色 六.设置单元格内容对齐方式 七.单元格添加超链接 八.单元格添加公式 九.单元格中输入日期 十.合并行和列 十一.单元格添加边框 一.安装 pip install xlwt 二.创建表格并写入 import xlwt # 创建一个workbook并设置编码 workbook = xlwt.Workbook(encoding = 'utf-8') # 添加sheet worksheet = workb

  • Python使用xlrd模块操作Excel数据导入的方法

    本文实例讲述了Python使用xlrd模块操作Excel数据导入的方法.分享给大家供大家参考.具体分析如下: xlrd是一个基于python的可以读取excel文件的产品.和pyExcelerator相比,xlrd的主要特点在于读的功能比较强大,提供了表单行数.列数.单元格数据类型等pyExcelrator无法提供的详细信息,使得开发人员无须了解表单的具体结构也能对表单中的数据进行正确的分析转换. 但是xlrd仅仅提供了读取excel文件的功能,不能像pyExcelrator那样生成excel文

  • Python基于xlrd模块操作Excel的方法示例

    本文实例讲述了Python基于xlrd模块操作Excel的方法.分享给大家供大家参考,具体如下: 一.使用xlrd读取excel 1.xlrd的安装: pip install xlrd==0.9.4 2.基本操作示例: #coding: utf-8 import xlrd #导入xlrd模块 xlsfile=r"D:\workspace\host.xls" #获得excel的book对象 book = xlrd.open_workbook(filename=None, file_con

  • python利用xlsxwriter模块 操作 Excel

    xlsxwriter 简介 用于以 Excel 2007+ XLSX 文件格式编写文件,相较之下 PhpSpreadsheet 支持更多的格式读写. 优点 文本,数字和公式写入,速度很快,占用内存小 支持诸如格式设置,图像,图表,页面设置,自动过滤器,条件格式设置等功能 缺点 无法读取或修改现有的 Excel XLSX 文件 演示 其使用流程,与你使用 excel 流程一致,只不过将你主步骤分解成了一个个对象实例来操作,通过引用实现操作关联 import xlsxwriter # 1.创建工作簿

  • Python使用openpyxl模块处理Excel文件

    首先贴出四种方法适用范围比较: 注释:Excel 2003 即XLS文件有大小限制即65536行256列,所以不支持大文件.而Excel 2007以上即XLSX文件的限制则为1048576行16384列 一.xlutils & xlrd & xlwt 最原始的莫过于两位老牌黄金搭档xlrd xlwt了,针对二者的封装有如下模块: xlutils:https://pypi.org/project/xlutils/ xlrd:https://pypi.org/project/xlrd/ xlw

  • python 的 openpyxl模块 读取 Excel文件的方法

    Python 的 openpyxl 模块可以让我们能读取和修改 Excel 文件. 首先让我们先理解一些 Excel 基础概念. 1 Excel 基础概念 Excel 文件也称做为工作簿.每个工作簿可以包含多个工作表(Sheet).用户当前查看的表或关闭 Excel 前最后查看的表,称为活动表. 每一张表都是由列和行构成的.列是以 A 开始的字母表示:而行是以 1 开始的数字表示的.由特定行和列所指定的方格称为单元格.每个单元格都可以包含一个数字或文本.这些单元格就构成了这张表. 2 安装 op

随机推荐