4段简短代码教你用Python读写Excel,附python电子书
数据分析将作为一门通用技能,进入越来越多的不同工作中。毕竟“技多不压身”,掌握数据分析,一方面可以提升自己相应的业务能力,另一方面也可以让自己建立一种从数据出发的视角,用大数据思维去思考各种问题。
Excel里面的透视表(Pivot Table)确实是做数据分析的必备技能。透视表可以帮你迅速汇总数据,看到各类型数据的直观特征就像是让你站在了一个更高的视角上去看你的数据。作为进阶,Excel自带的函数,各种插件,以及VBA也是很好的工具。
但当数据量大到用Excel打开都要好久,电脑打开文件都会死机的时候,这种也就不适合用office工具了,也或者我们想进一步提升能力的时候,需要学习一些hardcore技能,即用编程语言做数据分析。
这里主要有R和Python两大流派。我个人推荐Python,一方面Python代码简单易懂,容易上手;另一方面学习资料超级多。关于Python的学习资料,这里我推荐《可爱的python》,这本书涵盖了利用Python做数据清洗,数据可视化及分析的技能点,可以作一本参考书、工具书,也可以对着书里面的案例进行实操。
受这本书的启发,我写了下面是几个处理Excel的小程序,仅供大家参考学习数据分析和数据从Excel中获取数据。Python对Excel的读写主要有xlrd、xlwt、xlutils、openpyxl、xlsxwriterp这几个形式。具体的安装方法可以从网上查一下,然后导入Python中就可以使用了。
1. xlrd主要是用来读取excel文件
import xlrd workbook = xlrd.open_workbook(u' Python进行数据分析测试.xls') sheet_names= workbook.sheet_names() for sheet_name in sheet_names: sheet2 = workbook.sheet_by_name(sheet_name) print sheet_name rows = sheet2.row_values(1) cols = sheet2.col_values(1) print rows print cols
2. xlwt主要是用来写excel文件
import xlwt wbk = xlwt.Workbook() sheet = wbk.add_sheet('sheet 1') sheet.write(0,1,'test text')#第0行第一列写入内容 wbk.save('test.xls')
3. xlutils结合xlrd可以达到修改excel文件目的
import xlrd from xlutils.copy import copy workbook = xlrd.open_workbook(u' Python进行数据分析测试.xls') workbooknew = copy(workbook) ws = workbooknew.get_sheet(0) ws.write(3, 0, 'changed!') workbooknew.save(u' Python进行数据分析测试copy.xls')
4. openpyxl可以对excel文件进行读写操作
from openpyxl import Workbook from openpyxl import load_workbook from openpyxl.writer.excel import ExcelWriter workbook_ = load_workbook(u" Python进行数据分析测试.xlsx") sheetnames =workbook_.get_sheet_names() print sheetnames sheet = workbook_.get_sheet_by_name(sheetnames[0]) print sheet.cell(row=3,column=3).value sheet['A1'] = '47' workbook_.save(u" Python进行数据分析测试新.xlsx") wb = Workbook() ws = wb.active ws['A1'] = 4 wb.save("检索.xlsx")
最后把《可爱的python》这本书的内容再给大家介绍一下,书中含有大量的实践案例,讲解如何利用各种Python库(包括NumPy、pandas、matplotlib以及IPython等)高效地解决各式各样的数据分析问题。
所以这本书也可以作为利用Python实现数据密集型应用的科学计算实践指南,适合刚刚接触Python的分析人员以及刚刚接触科学计算的Python程序员。
- 将IPython这个交互式Shell作为你的首要开发环境。
- 学习NumPy(Numerical Python)的基础和高级知识。
- 从pandas库的数据分析工具开始。
- 利用高性能工具对数据进行加载、清理、转换、合并以及重塑。
- 利用matplotlib创建散点图以及静态或交互式的可视化结果。
- 利用pandas的groupby功能对数据集进行切片、切块和汇总操作。
- 处理各种各样的时间序列数据。
- 通过详细的案例学习如何解决Web分析、社会科学、金融学以及经济学等领域的问题。