文/JSong @2017.02.28

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

1、解决方案概述

项目地址:github,欢迎star 或者folk

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

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

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

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

2、准备工作

依赖环境:

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

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

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

备注

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

打开文件 ".\pptx\chart\xmlwriter.py"

将大约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\文件夹下生成两个文件

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

调研报告初稿.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个文件

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

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

性别差异分析_FE.xlsx:

性别差异分析_TGI.xlsx:

性别差异分析_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

若您觉得感兴趣,请点击“喜欢”;

若您用的舒服,请分享给其他人;

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

  1. Python之sklearn:GridSearchCV()和fit()函数的简介、具体案例、使用方法之详细攻略

    Python之sklearn:GridSearchCV()和fit()函数的简介.具体案例.使用方法之详细攻略 目录 GridSearchCV()和fit()函数的使用方法 GridSearchCV( ...

  2. Python语言学习之字母S开头函数使用集锦:set/sys/super用法之详细攻略

    Python语言学习之字母S开头函数使用集锦:set/sys/super用法之详细攻略 set用法 set顾名思义是集合,里面不能包含重复的元素,接收一个list作为参数 list1=[1,2,3,4 ...

  3. Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略

    Python之 sklearn:sklearn.preprocessing中的StandardScaler函数的简介及使用方法之详细攻略 目录 sklearn.preprocessing中的Stand ...

  4. Python语言学习之图表可视化:python语言中可视化工具包的简介、安装、使用方法、经典案例之详细攻略

    Python语言学习之图表可视化:python语言中可视化工具包的简介.安装.使用方法.经典案例之详细攻略 目录 python语言中可视化工具包的简介 python语言中可视化工具包的安装 pytho ...

  5. CV之ICG:计算机视觉之图像标题生成(Image Caption Generator)算法的简介、使用方法、案例应用之详细攻略

    CV之ICG:计算机视觉之图像标题生成(Image Caption Generator)算法的简介.使用方法.案例应用之详细攻略 目录 图像标题生成ICG算法的简介 图像标题生成ICG算法的使用方法 ...

  6. Py之urllib2:Python库之urllib、urllib2、urllib3系列简介、安装、使用方法之详细攻略

    Py之urllib2:Python库之urllib.urllib2.urllib3系列简介.安装.使用方法之详细攻略 目录 urllib2简介 urllib2安装 urllib2使用方法 urllib ...

  7. Python之pip:pip包管理工具的简介、安装、使用方法之详细攻略

    Python之pip:pip包管理工具的简介.安装.使用方法之详细攻略 目录 pip的简介 pip的安装 1.测试pip是否已安装 T1.代码查询 T2.自行查询

  8. 支持javascript的ppt软件_用 reveal.js 随心所欲地制作 PPT

    在面临课题总结或者小组活动的时候,我们几乎都避免不了使用PPT的情境.而制作一个质量较高的PPT可能需要花费比较长的时间1 .倘若你是个"完美主义者",对细节要求几近苛刻,而知识储 ...

  9. rust如何改睡袋_腐蚀rust怎么做睡袋 | 手游网游页游攻略大全

    发布时间:2016-05-07 腐蚀是一款FPS僵尸类生存游戏,这款游戏中玩家可以体验到非常自由的游戏方式,玩家需要寻找生存的资源,同时也需要及时预防僵尸和其他不怀还以的玩家的入侵,下面是新手全面攻略 ...

最新文章

  1. maven生命周期理解
  2. java基础提升篇:Static关键字
  3. VS怎样创建和使用lib文件
  4. leetcode950. 按递增顺序显示卡牌
  5. 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes
  6. Android ListView自定义分割线 header 和footer设置没有页眉和页脚
  7. git 停止维护了,官网无法下载
  8. 12306火车票抢票Python代码
  9. np.max()、np.argmax()、np.maximum()、np.min()、np.argmin()、np.minimum()、np.sum()
  10. 信息安全等级保护等级划分及适用行业
  11. 计算机PS属性怎么改,电脑不用ps怎么改图片分辨率 教你修改图片分辨率的方法...
  12. python爬虫:案例二:携程网酒店价格信息
  13. 仿照登录界面实现网站的注册
  14. Win10打印机使用异常?windows系统如何删除更新补丁,驱动人生解决方案
  15. 探索:制药厂系统网络时钟同步(NTP时间同步服务器)
  16. 正定矩阵的相关性质,凸锥
  17. 提交辞职申请时,领导挽留,要不要留下来
  18. 20世纪最佳12部学术专著
  19. coinex05 // 撮合交易 与 并发
  20. python随机打乱一个文本中每行数据

热门文章

  1. hpc超级计算机大会,国家超算广州中心主任卢宇彤当选HPC 2019大会程序主席
  2. (私人收藏)商务工作学习万能简约大气PPT模板
  3. 有道云笔记、印象笔记(evernote)哪个更好?
  4. JavaFX入门(一):我的第一个JavaFX程序
  5. 搬砖的成长之路——VMWare网络原理
  6. 六Elasticsearch之中文分词器插件es-ik的热更新词库
  7. 枣庄市建筑物矢量数据(Shp格式+带高度)
  8. uni-app下载图片到系统相册
  9. 学习web渗透测试国内、国外在线网站
  10. 朴素贝叶斯详解及中文舆情分析(附代码实践)