全文约 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科学计算所需的包,建议直接安装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、快速上手为了方便更多人使用,我给windows用户提供了一个很简单的使用方法,大家下载项目地址中的文件夹 reportgen[无python经验的下载]即可,使用说明也在其中,非常简单。这里也提供一个百度云盘地址:reportgen简易使用版本链接(密码:as84):

打开应用保存高清大图

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

# 数据编码和导入

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

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

datacode=rpt.wenjuanxing(['300_300_0.xls''300_300_2.xls'])

# 描述统计报告生成

rpt.summary_chart(datacodefilename=u'调研报告初稿');

如上代码可以在。\out\文件夹下生成两个文件调研报告初稿.pptx: 针对每个题目描述统计,支持单选题、多选题、排序题、矩阵单选题等

调研报告初稿.xlsx: 生成每个题目的统计数据,包括频数和占比

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

# 数据编码和导入

datacode=rpt.wenjuanxing

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

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

rpt.cross_chart(datacodecross_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(datafilenamecode)

rpt.save_code(codefilename)

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

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

# 数据统计函数

tt1=rpt.qtable(datacode'Q1')#单变量频数统计

tt1=rpt.qtable(datacode'Q1''Q2')#双变量交叉统计

# 数据分析函数

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

rpt.gof_test(fofe)#拟合优度检验

rpt.chi2_test(fofe)#卡方检验

rpt.binomial_interval(pn)#计算比率的置信区间

# 自动描述统计报告

'''

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

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

'''

rpt.summary_chart(datacodefilename=u'描述统计报告'summary_qlist=None\

max_column_chart=20template=None)

# 自动交叉统计报告

'''

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

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

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

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

'''

rpt.cross_chart(datacodecross_classfilename=u'交叉分析'cross_qlist=None\

delclass=Noneplt_dstyle=Nonecross_order=Nonesignificance_test=False\

reverse_display=Falsetotal_display=Truemax_column_chart=20save_dstyle=None\

template=None):

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

题图:pexels,CC0 授权。

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

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

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

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

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

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

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

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

    importreportasrpt# 文件I/Odata=rpt.read_data(filename)code=rpt.read_code(filename)rpt.save_data(data,f ...

  5. python封装c++接口_使用MetaSIP自动生成SIP封装C++到Python接口

    利用SIP将C++封装为Python,SIP采用手动书写,但对于比较庞大的工程手动书写sip文件就显得很苍白无力.QT利用MetaSIP这款工具生成sip文件,然后手动修改部分SIP文件,然后利用py ...

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

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

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

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

  8. 为什么python发展的好_为什么Python发展这么快,有哪些优势?

    正所谓"男怕入错行,女怕嫁错郎",可想而知进入一个正确的行业有多重要.IT行业的高薪吸引着越来越多转行"入坑",Python作为目前的大势,是很多人转行的首选. ...

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

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

  10. 【原创佳作】用Python自制了一张网页,一键自动生成探索性数据分析报告

    今天小编带领大家用Python自制一个自动生成探索性数据分析报告这样的一个工具,大家只需要在浏览器中输入url便可以轻松的访问,如下所示 第一步 首先我们导入所要用到的模块,设置网页的标题.工具栏以及 ...

最新文章

  1. 转换营销阵地 特步的世界杯身影
  2. 46. Permutations 排列数
  3. Java领域的对象如何传输-如何解决报错的问题呢?
  4. 导出excel 后 页面按钮失效(页面假死)
  5. Linux驱动程序的数据封装
  6. 程序员想早点下班被经理拒绝,一气之下要辞职,经理慌了
  7. Jquery第一章基础、过滤、层次选择器第二节1/2
  8. Python2/3共存,pip2/3共存
  9. java二级 计算复杂利息_java 计算存款利息
  10. 一文详解C语言关键字
  11. 线性方程组、齐次线性方程组和非线性方程组的最小二乘解
  12. ceph rbd mysql_Ceph 实战之 RBD
  13. 如何在众多快递物流中筛选出代收的单号
  14. nodeJs处理json
  15. appearance
  16. C10k-problem
  17. flutter 运行失败 The SDK directory 'xxxxx' does not exist.
  18. MySQL(十三):分区表( Partitioning Table)
  19. 6成网友睡前不玩手机睡不着 专家称影响生育
  20. 使用java代码编写脚本,把oracle建表语句变成hive建表语句

热门文章

  1. 3001.Linux维护和管理培训.实操考核A
  2. Json、String、JavaBean相互转换
  3. PHP学习笔记一(基础)
  4. 第六天:对项目后端日志存储
  5. Layui中的table中toolbar自定义过程
  6. PHP根据配置设置可变变量
  7. gsettings set org.gnome.desktop.interface scaling-factor 2无效果
  8. 围棋选手不到30岁就下坡,最大因素是什么?
  9. 热烈祝贺:关于OpenJDK8 LINUX版本输入法候选框不能跟随光标移动的BUG及解决办法,已上报Oracle
  10. 代码管理学:通过配置文件限制依赖关系