文/JSong @2017.02.28

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

1、解决方案概述

  1. 工具包:reportgen
  2. 项目地址:github,欢迎star 或者folk
  3. 软件依赖:python3(兼容python2,但中文部分需要手动修改一个第三方包的2行代码)
  4. 数据需求:调研数据,包括但不仅限于问卷星原始数据、问卷网原始数据
  5. 主要功能1: 自动生成概述性质的报告(ppt格式,针对每道题目给出频数统计,并绘制ppt图表)
  6. 主要功能2:自动交叉分析,并生成报告(自动卡方检验、TGI、CHI指标计算、简单结论提取等)

2、准备工作

依赖环境:

  1. python科学计算所需的包,建议直接安装anaconda(强烈推荐使用python3版本)
  2. 安装第三方包python-pptx: 在cmd中输入:"pip install python-pptx"
  3. 安装report包: 下载report\report.py, 然后放在工作目录即可(省心点可以直接扔进 C:\Anaconda3\Lib\site-packages 中,这样在任何地方都能使用该工具包啦)

备注

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

  1. 打开文件 ".\pptx\chart\xmlwriter.py"
  2. 将大约1338行和1373行的 "escape(str(name))" 改为"escape(unicode(name))"

3、快速上手

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

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

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

import report as rpt
#  数据编码和导入
# 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\文件夹下生成两个文件

  1. 调研报告初稿.pptx: 针对每个题目描述统计,支持单选题、多选题、排序题、矩阵单选题等
  2. 调研报告初稿.xlsx: 生成每个题目的统计数据,包括频数和占比

3.2 四行代码解决交叉统计报告

import report as rpt
#  数据编码和导入
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个文件

  1. 性别差异分析.pptx: 考虑每个题目在性别上的差异
  2. 性别差异分析_百分比.xlsx:
  3. 性别差异分析_FE.xlsx:
  4. 性别差异分析_TGI.xlsx:
  5. 性别差异分析_CHI.xlsx:

3.3 其他实用函数

import report as rpt
# 文件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):

END


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

转载于:https://www.cnblogs.com/gasongjian/p/6481422.html

把时间还给洞察,且看PPT调研报告自动生成攻略相关推荐

  1. python自动生成ppt报告_把时间还给洞察,且看PPT调研报告自动生成攻略

    文/JSong @2017.02.28 在数据分析里面有一句话是说,80%的时间要用于数据清洗和整理,而我觉得理想的状态应该是把更多的把时间花在数据背后的洞察当中.去年11月在简书占了个坑,说要自己写 ...

  2. python ppt自动生成_实战 | Python自动生成PPT调研报告

    原标题:实战 | Python自动生成PPT调研报告 原文: 全文约 3821 字,读完可能需要 5 分钟. 文/JSong @2017.02.28 在数据分析里面有一句话是说,80%的时间要用于数据 ...

  3. AIGC之GPT-4:GPT-4的简介(核心原理/意义/亮点/技术点/缺点/使用建议)、使用方法、案例应用(计算能力/代码能力/看图能力等)之详细攻略

    AIGC之GPT-4:GPT-4的简介(核心原理/意义/亮点/技术点/缺点/使用建议).使用方法.案例应用(计算能力/代码能力/看图能力等)之详细攻略 解读:在2022年11月横空出世的ChatGPT ...

  4. mac c语言 新手,第1次买Mac必看,新手买Mac全攻略!

    原标题:第1次买Mac必看,新手买Mac全攻略! 近年越来越多人想买Mac,不过用惯Windows又怕不太调节.随着Microsoft为macOS推出MS Office新版,越来越多人改用macOS取 ...

  5. ppt复制切片器_攻略|致敬20个可以提升效率的PPT操作技巧

    微信公众号:有宝物的柜子 编辑:落水无波 2020-08-01 原创 除了最近推送的 PDF教程|科研狗应该如何使得PDF文件页面统一大小 PDF教程|如何压缩PDF文件,实现"瘦身&quo ...

  6. 3 vue 线条箭头_教程|PPT绘制箭头最全攻略,收藏一下!

    微信公众号:有宝物的柜子编辑:落水无波 2020-05-02 原创 由于没有较好的方向,公众号的更新一直暂停,根据昨天的留言,今天更新一篇关于绘制各类箭头的PPT教程,希望帮到需要的同学. 那么,我们 ...

  7. Java:Java的jar包之POI的简介、安装、使用方法(基于POI将Word、Excel、PPT转换为html)之详细攻略

    Java:Java的jar包之POI的简介.安装.使用方法(基于POI的转换-Word.Excel.Ppt等转html)之详细攻略 目录 POI的简介 1.基本功能 POI的安装 POI的使用方法(基 ...

  8. 开发者必看!Windows Server 2012全攻略

    转载自品略网:http://www.pinlue.com/article/2020/03/0904/2410000394727.html 品牌:微软操作系统1Windows Server 2012概论 ...

  9. 主板后置音频接口图解_不用再看说明书 机箱主板接线全攻略

    1细节决定装机成败 攒机过程中具备着很多细节,很多DIY高手对此都会很随意,很多时候由于随意就会出现USB接口接触不良,有的出现声卡没有声音.这些都是因为在装机过程中发生的不经意的事情,尤其对于入门级 ...

  10. 十堰一中2021高考 成绩查询,速看!十堰一中新高考攻略

    课堂是学校育人的载体,在新高考背景下,学校如何帮助学生顺利选科,如何落实新课程标准是一道家长关心的"必答题". 近年来,十堰一中深入研究"新高考"和" ...

最新文章

  1. HDU2648(map的应用)
  2. VMware 克隆网卡无法启动
  3. UserWarning: Update your `Conv2D`
  4. 数字数据fzu 2120 数字排列
  5. java中文getbytes为3,java 中文乱码问题
  6. 14 SD配置-企业结构-分配-分配销售组织-分销渠道-工厂
  7. Java中选择排序,冒泡排序,插入排序,快速排序
  8. 非官方构建的 Windows 下的 Atom 编辑器
  9. R︱Linux+Rstudio Server尝鲜笔记(打造最佳Rstudio体验+报错的解决方案)
  10. docker入门2---docker的初体验
  11. ubuntu下eclipse搭建安卓开发环境
  12. 软件工程 第六章 编码与测试
  13. 真4k测试样片_如何让自己的抖音视频更高清?测试一天后,偷偷告诉你
  14. Ubuntu下snap挂代理下载加速方法
  15. 今天第一次解决了程序在未装VS和XP下运行的问题
  16. python xpath定位 麦客表单
  17. 每日一坑:加载DLL失败:找不到指定模块
  18. Deepin安装应用
  19. Google Dremel架构
  20. RouterOS(ros)自动更新国内外IP以及端口扫描IP

热门文章

  1. 【寒江雪】LookRotation详解
  2. 电脑开机密码忘记了怎么解除
  3. 关于“父虚拟磁盘在子虚拟磁盘创建之后被修改过。……打不开磁盘啥啥啥”的解决方法
  4. Qt学习——聊天的QQ列表QToolBox类
  5. Android之——流量管理程序示例
  6. 测试键盘是否灵敏的软件,u盘启动大师pe检测键盘灵敏度图文教程
  7. java工程源码看不懂_目前从事java开发工作,看不懂源码应该怎么做?
  8. 5 月最大的 GameFi 崩溃受害者能否在熊市中生存?| May Monthly Report
  9. 自考-计算机程序设计-1-概论
  10. tibco linux安装手册,Tibco 产品安装手册.doc