原标题:实战 | Python自动生成PPT调研报告

原文:

全文约 3821 字,读完可能需要 5 分钟。

文/JSong @2017.02.28

在数据分析里面有一句话是说,80%的时间要用于数据清洗和整理,而我觉得理想的状态应该是把更多的把时间花在数据背后的洞察当中。去年11月在简书,说要自己写一个工具来解决,今天我来填坑了。

1、解决方案概述

工具包:https://github.com/gasongjian/reportgen

项目地址:https://github.com/gasongjian/,欢迎 star或者 folk

软件依赖:python3(兼容python2,但中文部分需要手动修改一个第三方包的2行代码)

数据需求:调研数据,包括但不仅限于 问卷星原始数据、 问卷网原始数据

主要功能1: 自动生成概述性质的报告(ppt格式,针对每道题目给出频数统计,并绘制ppt图表)

主要功能2:自动交叉分析,并生成报告(自动卡方检验、TGI、CHI指标计算、简单结论提取等)2、准备工作

依赖环境:

python科学计算所需的包,建议直接安装(强烈推荐使用python3版本)

安装第三方包 python-pptx: 在cmd中输入:"pip install python-pptx"

安装report包: 下载reportreport.py, 然后放在工作目录即可(省心点可以直接扔进 C:Anaconda3Libsite-packages 中,这样在任何地方都能使用该工具包啦)备注

py2.7版本的pptx包对中文支持有 bug, 请按照如下方式修改

打开文件 ".pptxchartxmlwriter.py"

将大约1338行和1373行的 "escape(str(name))" 改为"escape(unicode(name))"3、快速上手

【不懂或者不想学python3的请看这】

为了方便更多人使用,我给windows用户提供了一个很简单的使用方法,大家下载项目地址中的文件夹 reportgen[无python经验的下载]即可,使用说明也在其中,非常简单。这里也提供一个百度云盘地址:reportgen简易使用版本链接(密码:as84):

3.1 三行代码解决描述统计报告:

importreportasrpt

# 数据编码和导入

# 300_300_0.xls是问卷星的按文本数据,300_300_2.xls是问卷星的按序号数据.

# 如果将他们放在".data"中,则文件名可以缺省,即:`data,code=rpt.wenjuanxing()`

data,code=rpt.wenjuanxing(['300_300_0.xls','300_300_2.xls'])

# 描述统计报告生成

rpt.summary_chart(data,code,filename=u'调研报告初稿');

如上代码可以在。out文件夹下生成两个文件

调研报告初稿.pptx: 针对每个题目描述统计,支持单选题、多选题、排序题、矩阵单选题等

调研报告初稿.xlsx: 生成每个题目的统计数据,包括频数和占比3.2 四行代码解决交叉统计报告

importreportasrpt

# 数据编码和导入

data,code=rpt.wenjuanxing()

# 交叉统计报告生成(假设第一道题Q1是性别选择题)

save_dstyle=['FE','TGI','CHI']#自由选择需要保存的指标(FE:期望频数等)

rpt.cross_chart(data,code,cross_class='Q1',filename=u'性别差异分析',save_dstyle=save_dstyle);

如上代码可以在。out文件夹下生成5个文件

性别差异分析.pptx: 考虑每个题目在性别上的差异

性别差异分析_百分比.xlsx:

性别差异分析_FE.xlsx:

性别差异分析_TGI.xlsx:

性别差异分析_CHI.xlsx:

3.3 其他实用函数

importreportasrpt

# 文件I/O

data=rpt.read_data(filename)

code=rpt.read_code(filename)

rpt.save_data(data,filename,code)

rpt.save_code(code,filename)

data,code=rpt.wenjuanxing(filepath)#编码问卷星的数据

data,code=rpt.wenjuanwang(filepath)#编码问卷网的数据

# 数据统计函数

t,t1=rpt.qtable(data,code,'Q1')#单变量频数统计

t,t1=rpt.qtable(data,code,'Q1','Q2')#双变量交叉统计

# 数据分析函数

cdata=rpt.contingency(fo)#列联表分析

rpt.gof_test(fo,fe)#拟合优度检验

rpt.chi2_test(fo,fe)#卡方检验

rpt.binomial_interval(p,n)#计算比率的置信区间

# 自动描述统计报告

'''

summary_qlist: 例如['Q1','Q2'],需要分析的问卷题目列表,缺省为code中所有的关键词

template: 例如{'path':'mytemplate.pptx','layouts':[1,2]}, 缺省为pptx自带的模板

'''

rpt.summary_chart(data,code,filename=u'描述统计报告',summary_qlist=None,

max_column_chart=20,template=None)

# 自动交叉统计报告

'''

cross_class: 需要交叉分析的题目,如:'Q1'

cross_qlist: 例如['Q1','Q2'],需要分析的问卷题目列表,缺省为code中所有的关键词

plt_dstyle: 绘制在ppt上使用的数据格式,缺省为百分比表,可以选择'TGI'等

save_dstyle: 需要保存的数据,例如:['TGI','FO','TWI','CHI']

template: 例如{'path':'mytemplate.pptx','layouts':[1,2]}, 缺省为pptx自带的模板

'''

rpt.cross_chart(data,code,cross_class,filename=u'交叉分析',cross_qlist=None,

delclass=None,plt_dstyle=None,cross_order=None,significance_test=False,

reverse_display=False,total_display=True,max_column_chart=20,save_dstyle=None,

template=None):

若您觉得感兴趣,请点击"喜欢"; 若您用的舒服,请分享给其他人;

题图:pexels,CC0 授权。

点击阅读原文,查看更多 Python 教程和资源。返回搜狐,查看更多

责任编辑:

python ppt自动生成_实战 | Python自动生成PPT调研报告相关推荐

  1. python实现动态壁纸_实战 | Python批量提取Win10锁屏壁纸

    使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美.但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次开机之后就被替换掉了. 借助 ...

  2. python分析b站_实战 | Python模型分析B站优质up主

    作者 | 远辰 来源 | 数据不吹牛 不管前浪还是后浪,能够浪起来的才算是好浪. 相信大家最近都被号称"浪里白条"的b站刷了不止一次屏.这次咱们先不谈价值观,主要从数据的角度,扒一 ...

  3. python证券交易数据接口_实战 | Python获取股票交易数据

    项目介绍 看到标题大家的第一反应估计是怎么用爬虫来获取股票交易数据,要获取股票交易数据确实是需要用爬虫没错,不过还有比使用爬虫更加方便的方式.今天要给大家介绍的是一个专门用来获取国内股票交易数据的开源 ...

  4. python生成ppt_实战 | Python自动生成PPT分析报告

    数据需求:调研数据,包括但不仅限于 问卷星原始数据. 问卷网原始数据 主要功能1: 自动生成概述性质的报告(ppt格式,针对每道题目给出频数统计,并绘制ppt图表) 主要功能2:自动交叉分析,并生成报 ...

  5. 视频教程-Python疫情监控完整项目实战-Python

    Python疫情监控完整项目实战 数据产品讲师,人工智能探索者,15年一线IT研发经验,国内顶级互联网行业工作背景,社区达人,著有长篇连载<胖子哥的大数据之路>,<数据实践之美> ...

  6. 笨办法学Python(第四版)最新版+Python爬虫开发与项目实战+Python网络数据采集+精通Scrapy网络爬虫

    笨办法学Python(第四版)最新版+Python爬虫开发与项目实战+Python网络数据采集+精通Scrapy网络爬虫 本资料为最新整理高清带目录pdf,百度网盘下载~~~ 本资料为最新整理高清带目 ...

  7. python项目分析报告_实战 | Python自动生成PPT分析报告

    原标题:实战 | Python自动生成PPT分析报告 在数据分析里面有一句话是说,80%的时间要用于数据清洗和整理,而我觉得理想的状态应该是把更多的把时间花在数据背后的洞察当中.去年11月在简书占了个 ...

  8. python怎么写excel数据透视自动报表_使用Python生成自动报表(E

    使用Python生成自动报表(Excel)以邮件发送 数据分析师肯定每天都被各种各样的数据数据报表搞得焦头烂额,老板的,运营的.产品的等等.而且大部分报表都是重复性的工作,这篇文章就是帮助大家如何用P ...

  9. python如何自动打印_利用Python每天自动打印练习题

    在日常教学工作中,我几乎每天都会给班上的每位同学打印一份口算练习题.为了防止出现抄袭的现象,给每位同学的练习题都不相同. 通过网上下载的一个小软件自动生成的练习题. 之前的操作是通过网上下载的软件,自 ...

最新文章

  1. 剑指offer:面试题29. 顺时针打印矩阵
  2. 学C++,能不能简单点?
  3. 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 获取 tombstone_0X 崩溃日志信息 )
  4. 数据结构与算法之KMP算法02
  5. 删除顺序表指定下标的元素
  6. 虚拟机使用的是此版本 VMware Workstation 不支持的硬件版本。 模块“Upgrade”启动失败。 未能启动虚拟机(修改.vmx文件virtualHW.version = “xx“字段)
  7. python列表常用操作_Python列表(list)常用操作方法小结
  8. 中科院大牛带你玩转Python数据分析,大厂offer轻松拿!
  9. 混合云K8s容器化应用弹性伸缩实战
  10. python sort 部分元素_Python 简单排序算法-选择、冒泡、插入排序实现
  11. python新手入门到放弃_python萌新:从零基础入门到放弃
  12. 表字段出现oracle sql语句关键字时
  13. 浙江哪个地方的杨梅最出名?
  14. C++轻量级微服务_微服务的部署
  15. 2021-08-01mysql外键
  16. 如何编译TrueCrypt源码
  17. 笔记44-JQuery高级笔记
  18. 考研数学一二重积分常见解题思路
  19. 停车场无感支付中的“黑科技
  20. 三种POSS材料(乙烯基POSS、氨基POSS和苯基POSS)

热门文章

  1. h5打开麦克风权限录音_微信H5录音实现
  2. dede采集过滤规则
  3. 由中序和后序(前序)序列求前序(后序)序列
  4. 前端处理 token 时效性问题
  5. OSPF协议介绍➌(认证、汇总扩展、LSDB的保护特性、缺省路由、附录E、选路规则、SPF算法、NP+E位、FA地址)
  6. 前端程序猿必备的网站
  7. BCS演讲实录 | 未来智安CTO陈毓端精讲《XDR扩展威胁检测响应探索与实践》
  8. Mac软件序列号查询工具KCNcrew Pack mac
  9. 小程序里面关注公众号
  10. PHP全站开发工程师-第04章 PHP基础语法