python RTL自动生成_Python办公自动化|只需三秒,一键生成数据分析报告

764b96f6b8841f668d72397ffe36539b.png

前两天逛知乎的时候看到这样一个提问,Python自动化办公能做那些有趣或者有用的事情?

b658fc40ff59c1816e100991b54bac00.png

看了一下这个提问,我想这可能是很多职场人面临的困惑,想把Python用到工作中来提升效率,却不知如何下手?Python在自动化办公领域越来越受欢迎,重复性工作让Python去做将是一种趋势。

阅读了一些办公自动化的文章,感觉更多是知识的罗列,看完后不知所云。为了更方面大家去学习,今天小编将以学生考试成绩为例,手把手教你使用Python完成自动化办公,一键生成学生成绩数据分析报告(word版),如果对PPT、excel自动化办公感兴趣,可以下方留言。

Python办公自动化|只需三秒,一键生成数据分析报告!​mp.weixin.qq.com
54966f8d76972c4e3dd037622f9522e5.png

准备数据

没有数据,数据分析报告无从谈起。GitHub热榜|5款优质的Python小工具,最后一款真神器!GitHub热榜|5款优质的Python小工具,最后一款真神器!中介绍过faker可以一行代码实现数据的生成,今天我将使用此方式。

from 

生成分析报告

考试成绩明细

核心代码

p 

结果

e11fc9d41e36bffe09916e8110afbc85.png

考试成绩汇总

核心代码

students['总分'] = students.语文 + students.数学 + students.英语 + students.理综
students.sort_values(by='总分', inplace=True, ascending=False)
students.reset_index(drop=True, inplace=True)
#学生成绩汇总表
ax = students.plot.bar(x='姓名', y=['语文','数学','英语','理综'], stacked=True)
plt.title('学生成绩汇总图', fontsize=16)   # fontproperties=font
plt.xlabel('姓名',  fontsize=10)  # fontproperties=font,
plt.xticks(rotation='45', fontsize=8)  #  fontproperties=font, 
ax.spines['top'].set_visible(False)
ax.spines['right'].set_visible(False)
plt.tight_layout()
plt.savefig('Part3_data.jpg')

结果展示

bcbbfa41aa5c1ed91b015299c8df5e69.png

各科成绩表现

def pie_plot(scores):
    ratios=dict()
    for subject,subjectScore in scores.items():
        ratios[subject]={}
        if subject !='理综':
            for category,num in groupby(sorted(subjectScore),splitScore):
                ratios[subject][category]= len(tuple(num))
        else:
            for category,num in groupby(sorted(subjectScore),splitScore_lizong):
                ratios[subject][category]= len(tuple(num))

    fig ,axs = plt.subplots(2,2) 
    # 画子图
    axs.shape=1,4
    for index,subjectData in enumerate(ratios.items()):
        plt.sca(axs[0][index])
        subjectName,subjectRatio = subjectData
        plt.pie(list(subjectRatio.values()),labels=list(subjectRatio.keys()),autopct='%1.1f%%')
        plt.xlabel(subjectName)
        plt.legend(loc="right",bbox_to_anchor=(1, 0, 0.5, 1))

    plt.savefig('Part4_data.jpg')
    plt.show()
pie_plot(scores)

结果展示

3c3bcb6a6a909a926ed7188e52179740.png

历次考试成绩

上面都是对一个班级整体的数据分析报告。如果希望一份分析报告中,除了班级整体成绩分析外,还想生成一份针对个人成绩报告,目的不仅是可以知道这个班级的整体学习状况,也可以知道每个学生的学习情况,下面我们以一个王欢同学为例:

核心代码

temp_df = pd.DataFrame({
        '历次考试':number,
        '姓名':'王欢',    
        '语文':score1,
        '数学':score2,
        '英语':score3,
        '理综':score4
        })
plt.subplot(411)
plt.plot(temp_df['语文'],'y*-',label="语文")
plt.subplot(412)
plt.plot(temp_df['数学'],'b*-')
plt.subplot(413)
plt.plot(temp_df['英语'],'r*-')
plt.subplot(414)
plt.plot(temp_df['理综'])
plt.savefig('Part6_data.jpg')
plt.show()

9b61e6848ecd102a2732fef576811342.png

该同学成绩概括性分析

0ea1533e0da5effb1f0fa0066439ebcf.png

成果展示

Python自动化办公,目的是提升效率,避免重复劳动,同时可以针对每个人的情况,做到千人千面,省时省力,一键生成,非常简单。视频可以参考上面文章内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值