数据分析师的日常工作中经常会碰到一些固定的数据展示需求,分析师可以利用Excel的多彩表格突出自己想表现的数据,给业务方呈现对重点数据的对比和理解。结合不同阶段的运营需求,设计的多彩表格可能需要多次复用。重复的劳动是很浪费分析师时间的,在这里我就分享一下自己的一些做法。希望起到抛砖引玉的效果。
主要步骤如下图所示:
这里我们假设一个场景:分析师接到这样一个需求. 每周我们需要对7个商品的销量数据做一总结展示,频率是需要每周同步一次,好的,就先由这样的简单需求开始:
设计excel模板
为满足以上需求,我们需要相邻两周的数据对比,然后为了清晰的查看最近一周的数据,我们可以把本周的每日数据展示出,由此模板里就有了相邻周期的数据对比和本周的明细数据。如下图所示:
设计数据源与excel模板的联结
为什么要设计数据源呢,在实际生产中数据的来源可能是现有的excel表格,数据库数据,爬虫数据等等,我们在呈现数据时一般是需要规整的数据。比如上图,那我们处理和规整的数据过程就需要隐藏起来。由此我们可以将上面的模板分为两部分,展示给需求方的是上图,而我们是需要把数据喂给上图
python与excel模板的互动
Python 获取或整理数据
实际生产过程中,python是获取和整合各种数据源的存在。最常见的是从数据库里拿到相应的数据,然后处理,本例就直接生成以上data_source数据,进行试验。代码如下:
import sys
sys.path.append('./')
##处理表格
import pandas as pd
##生成文件的日期标记
import datetime
##不影响excel其它sheet的情况下,写入数据
from openpyxl import load_workbook
##复制生成新文件
import shutil
##用以不打开excel文件截图
import excel2img
###生成相关的数据
###每日数据生成
df = pd.DataFrame(
{
'日期': {
0: 'week', 1: 'week', 2: '2021-04-09', 3: '2021-04-10', 4: '2021-04-11', 5: '2021-04-12', 6: '2021-04-13',