文/JSong @2017.02.28python
在數據分析裏面有一句話是說,80%的時間要用於數據清洗和整理,而我以爲理想的狀態應該是把更多的把時間花在數據背後的洞察當中。去年11月在簡書佔了個坑,說要本身寫一個工具來解決,今天我來填坑了。git
star
或者folk
問卷星
原始數據、問卷網
原始數據依賴環境:github
python-pptx
: 在cmd中輸入:"pip install python-pptx"py2.7版本的pptx包對中文支持有 bug, 請按照以下方式修改windows
【不懂或者不想學python3的請看這】函數
爲了方便更多人使用,我給windows用戶提供了一個很簡單的使用方法,你們下載項目地址中的文件夾
reportgen[無python經驗的下載]
便可,使用說明也在其中,很是簡單。這裏也提供一個百度雲盤地址:reportgen簡易使用版本連接(密碼: as84): https://pan.baidu.com/s/1dEPT72p工具
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
: 生成每一個題目的統計數據,包括頻數和佔比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個文件code
性別差別分析.pptx
: 考慮每一個題目在性別上的差別性別差別分析_百分比.xlsx
:性別差別分析_FE.xlsx
:性別差別分析_TGI.xlsx
:性別差別分析_CHI.xlsx
: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):
ENDxml
若您以爲感興趣,請點擊「喜歡」;
若您用的舒服,請分享給其餘人;blog