对于业务型数据分析来说,Excel可以说是打交道最多的软件了,可以说没有之一。之前有比较系统地读过《Python数据分析基础》(Foundations for Analysis with Python),写了一些笔记,这里只选取关于Excel的部分。
这篇笔记不是讲各类Excel函数和快捷键,而是讲Python对Excel的 .xls 和 .xlsx 格式数据的读写和处理。《Python数据分析基础》第82页说:
Excel 是商业活动中不可或缺的工具,所以知道如何使用 Python 处理 Excel 数据可以使 你将 Python 加入到数据处理工作流中,进而从其他人那里接收数据,并以他们习惯接受的 方式分享数据处理结果。
目录
Excel文件简介
Excel文件的读取
Excel文件的写入
pandas库读写Excel
筛选与统计量计算
Excel文件简介
Excel其实相信大家都不陌生,一个 .xls(Excel 2013后默认格式为 .xlsx )文件是一个工作簿(workbook),包含多个表(worksheet),每个表内数据按照行列进行组织,书中第三章的用词中,“文件”和“工作簿”表示同一个对象。拿本篇笔记用到的示例文件 sales_2015.xlsx 为例:
workbookAndWorkSheets
本篇笔记需要用到两个库: xlrd 和 xlwt,这两个库不是内置模块,但安装了Anaconda集成环境的话,这两个库被包含了,可以通过 import xlrd 和 import xlwt 进行测试,如果提示未安装,可以通过命令行下用pip安装,本处不展开。xlrd用来读取Excel文件,xlwt用于构建Workbook对象进行Excel文件的创建和写入数据。这两个库不能对Excel文件进行直接更改,因此思路是复制一份数据到内存进行分析计算,再写入新Excel文件中。需要直接性地修改可以考虑VBA吧,VBA(Visual Basic for Applications)是目前 Office 套件支持的基于 Visual Basic 的宏语言,目前一般在Excel或PPT内进行编程实现高级效果(如Excel数据的批量修改)一般都用VBA,当然以后Office要内置Python了,现在学好Python以后就能很容易理解和定制化Excel的宏了。
Excel文件的读取
通过xlrd库的open_workbook()对Excel数据进行读入。
#lrd读取并输出基本信息# -*- coding: utf-8 -*-def readExcel(fname):
from xlrd import open_workbook
workbook = open_workbook(fname)
print('工作表数量:', workbook.nsheets)
for worksheet in workbook.sheets(): #循环输出表名
print("