作为一个数据分析师,下面的需求是经常会遇到的。
从数据库或者现有的文本文件中提取符合要求的数据,做一个二次处理,处理完成后的数据最终存储到excel表格中供其他部门的人继续二次分析。
在这里Excel作为一个必不可少桥梁,合适的工具和方法可以避免我们将处理完的数据耗费时间一行行复制黏贴过去。
python编程也是一个数据分析师的必备技能,你永远无法预料你的数据会来自哪里,需要经过怎样复杂的过滤,筛选,排序,组合处理,所以掌握一门编程语言以及Linux下常用的文本文件的处理命令是必备技能。
鉴于python的简洁,上手快,以及各式各样的开源库可以说是数据分析师的首选。
这里看一下基于python的库records将数据导出到excel是多么的简单,只需要几行代码即可。
我在《真正好用的python库》中提到了records库。
作者 Kenneth Reitz 是公认python领域代码写的最好的两个人之一,多才多艺,年轻有为。
records是专为人类设计的SQL查询库,可以对接后端的各种关系数据库,不需要关心任何细节,只要一个url一个sql语句就搞定一切了。同时还提供了将各种查询结果导出到各种格式(CSV, XLS, JSON, HTML Tables)的功能。
import records
rows = [
{"x": 1, "y": 2},
{"x": 2, "y": 3},
{"x": 3, "y": 4},
{"x": 4, "y": 5}
]
results = records.RecordCollection(iter(rows))
with open('demo.xlsx', 'wb') as f:
f.write(results.export('xlsx'))
直接运行之后生成的excel格式的表格如下:
当然,还可以生成csv文件,python自带csv的处理库,相比xlsx格式使用起来简单很多,而且不需要引入第三方库。
这里使用records库最常用的一个应用场景便是将数据从mysql数据库中读取出来,经过一定的处理之后,将数据存储到excel或者json相关的文本文件中。