美文网首页Python
来秀一个!实战办公自动化!用Python玩转Excel,看GDP

来秀一个!实战办公自动化!用Python玩转Excel,看GDP

作者: 菜鸟学python | 来源:发表于2020-10-28 11:07 被阅读0次

    对于excel表中数据的处理,在没有外界的帮助时,有时会显得比较麻烦,因此采用Python进行复制的自动化办公,就会显得非常的便捷。特别是对于许多重复而枯燥的工作。

    今天,小编就带领大家,以实际的动手操作,通过xlsxwriter函数来简单的分析一下,我国自2018年第四季度至2020年第一季度的GDP变化,来看一下,疫情下我国国内生产总值的变化情况。

    \normalsize\mathbf{1} \normalsize\mathbf{兵马未动,粮草先行} \normalsize\mathbf{先安装库}
    首先,为大家简单的介绍一下xlsxwriter函数库,xlsxwriter库是基于python语言的excel操作模块,它可以用来操作多个工作表中的文字,数字和公式,以及插入图表等工作。

    大家只需要pip3 install xlsxwriter即可安装xlsxwriter函数库。下图是为大家简单的介绍xlsxwriter的使用方式:

    1).船舰一个workbook实例,相当于创建一个excel表

    book = xwriter.Workbook(u"demo.xlsx")
    

    2).添加一个工作簿

    grade = book.add_worksheet("成绩单")
    

    3).工作簿中写入数据

    grade.write("A1", "姓名") # 在A1的表格里写入姓名
    grade.write("B1", "学号") # 在B1的表格里写入学号
    grade.write("C1", "成绩") # 在B1的表格里写入学号
    

    4).我们的成绩

    grades = (
    ["John", 10001, 92],
    ["William", 10021, 93],
    ["Tony", 10005, 92],
    ["Young", 10031, 94],
    )
    

    5).初始化成绩要写入的位置

    row = 1
    col = 0
    

    6).将成绩逐个的写入到表格里面

    for i, item in enumerate(grades):
        grade.write(row, col, item[0]) # 写入姓名
        grade.write(row, col+1, item[1]) # 写入学号
        grade.write(row, col+2, item[2]) # 写入成绩
        row += 1
    

    7).合并单元格 写入内容

    mergeRange='A6'+':B6'
    

    合并单元格的范围,大都采用"A2:D2"这种形势。注意的是,两边都是闭的

    8).合并单元格并写入"最大值:"这几个元素

    grade.merge_range(mergeRange,'最大值:')
    

    9).写入公式,求取最大值

    maxfunc = "=max(C2:C5)"
    grade.write(5,2,maxfunc)
    

    最终我们的结果如下图所示:

    大家对照上面的程序和我们的结果可以看出,利用xlsxwriter函数库对于excel表格的书写很类似于我们的思维方式,比如在“A1”单元格中写入“姓名”两个字。这种方式让我们在使用xlsxwriter函数库时更加的简单,方便。

    \normalsize\mathbf{2} \normalsize\mathbf{实战干货} \normalsize\mathbf{用excel对GDP进行分析}

    1).数据的准备
    在简单的介绍完xlsxwriter库后,接下来就是对于我国GDP的简单分析。大概分这么几步:

    • 首先,我们需要从国家统计局的官网上下载自2018年第四季度以来的6个季度的GDP数据,小编下载的xml格式的数据;
    • 并通过程序将xml数据转化为了excel的数据格式,大家可以直接获取源码;
    • 将程序直接应用在自己的数据中即可;
    这里,小编将数据中的累积数据进行了去除,只保留了单季的数据,如下图所示:

    我们将从横向和纵向对于上述的数据进行简单的操作和分析。

    2).数据的处理
    首先我们来看一下,每行中所有数值的最大值为多少,程序和结果如下:

    上述的程序中,我们利用求和公式,求得了每行数据中的最大值,由结果可以看出,最近的六个季度的GDP中,2019年的第四季度在各个指标的排名中,都是第一位的,但是在2020年的第一个季度,受到疫情的影响,各个产业都有回落。

    3).数据分析
    接着看一看2020年的第一季度GDP的同比到底有多少的下降。程序和结果如下图所示:

    程序中,我们利用xlsxwriter库提供的writer_formula函数和for循环来写入公式,我们分别对2020年第一季度的各个指标进行了同比的计算。

    结果可以看出,2020第一季度GDP同比下降了近7个百分点,其中,第二产业更是下降了近10个百分点。

    4).用折线图和柱状图显示
    接下来,为了能直观的感受一下DGP变化的形势,小编为excel表中插入折线图和柱状图。程序和结果如下:

    在上述的图表中,我们可以看出:
    2020年的第一季度的GDP出现了一个较大幅度的下滑,而且我国的GDP在一年的变化中,呈现出了随着季度而逐渐走高的趋势。

    5).柱状图显示

    从下图的柱状图中,我们能从第一、二、三产业的经济总量上更加直观的看出,我国GDP的变化形式。第三产业成为了我国的第一支柱型产业,而以农业为代表的第一产业对于我国的国内生产总值贡献量远小于第二和第三产业。

    以上就是小编今天为大家带来的基于xlsxwriter函数库的分享,我们首先完成了xml数据到excel表格数据的转换,然后利用xlsxwriter库完成了对于excel表格数据的操作,以及图表的插入。

    大家可以现在就下载源码,体验xlsxwriter带来的自动化excel数据处理的乐趣吧。

    目前wx搜索Python 【菜鸟学Python】排第二,汇聚了30万Python爱好者,累计原创近400篇趣味干货(爬虫,数据分析,算法,面试指南,原创趣味实战,Python游戏,机器学习),欢迎一起学Python,交流指正。

    相关文章

      网友评论

        本文标题:来秀一个!实战办公自动化!用Python玩转Excel,看GDP

        本文链接:https://www.haomeiwen.com/subject/nxdxvktx.html