Mercurial > hg > webaudioevaluationtool
comparison python/survey_parser.py @ 2957:ca1abc3d8ef6
UTF-8 encoding comment and survey analysis scripts
author | Brecht De Man <b.deman@qmul.ac.uk> |
---|---|
date | Tue, 21 Nov 2017 10:40:22 +0100 |
parents | 356a09527abc |
children | 1e5a9d92daa0 d25e09e3b8fe |
comparison
equal
deleted
inserted
replaced
2956:356a09527abc | 2957:ca1abc3d8ef6 |
---|---|
34 # CODE | 34 # CODE |
35 | 35 |
36 storage = {"globals":{}, "pages": {}} | 36 storage = {"globals":{}, "pages": {}} |
37 | 37 |
38 def decodeSurveyTree(session_id, surveyroot, store): | 38 def decodeSurveyTree(session_id, surveyroot, store): |
39 # Get all the childs | 39 # Get all the children |
40 for survey_entry in list(surveyroot): | 40 for survey_entry in list(surveyroot): |
41 survey_id = survey_entry.get("ref") | 41 survey_id = survey_entry.get("ref") |
42 if survey_id not in store.keys(): | 42 if survey_id not in store.keys(): |
43 store[survey_id] = {"responses": []} | 43 store[survey_id] = {"responses": []} |
44 survey_type = survey_entry.get("type") | 44 survey_type = survey_entry.get("type") |
140 if len(post_survey) is not 0: | 140 if len(post_survey) is not 0: |
141 if "post" not in page_store.keys(): | 141 if "post" not in page_store.keys(): |
142 page_store["post"] = {} | 142 page_store["post"] = {} |
143 page_store["post"] = decodeSurveyTree(subject_id, post_survey, page_store["post"]) | 143 page_store["post"] = decodeSurveyTree(subject_id, post_survey, page_store["post"]) |
144 | 144 |
145 #Storage now holds entire survey structure | 145 # Storage now holds entire survey structure |
146 # Time to start exporting to files | 146 # Time to start exporting to files |
147 | 147 |
148 # Store globals | 148 # Store globals |
149 file_store_root = folder_name + 'surveys/' | 149 file_store_root = folder_name + 'surveys/' |
150 for position in storage["globals"].keys(): | 150 for position in storage["globals"].keys(): |
151 for ref in storage["globals"][position].keys(): | 151 for ref in storage["globals"][position].keys(): |
152 with open(file_store_root+ref+".csv", "w") as f: | 152 with open(file_store_root+ref+".csv", "w") as f: |
153 filewriter = csv.writer(f, delimiter=",") | 153 filewriter = csv.writer(f, delimiter=",") |
154 filewriter.writerow(storage["globals"][position][ref]["header"]) | 154 filewriter.writerow(storage["globals"][position][ref]["header"]) |
155 for row in storage["globals"][position][ref]["responses"]: | 155 for row in storage["globals"][position][ref]["responses"]: |
156 row = [element.encode("utf-8") for element in row] | |
156 filewriter.writerow(row) | 157 filewriter.writerow(row) |
157 for page_name in storage["pages"].keys(): | 158 for page_name in storage["pages"].keys(): |
158 for position in storage["pages"][page_name].keys(): | 159 for position in storage["pages"][page_name].keys(): |
159 if not os.path.exists(file_store_root + page_name): | 160 if not os.path.exists(file_store_root + page_name): |
160 os.makedirs(file_store_root + page_name) | 161 os.makedirs(file_store_root + page_name) |
161 for ref in storage["pages"][page_name][position].keys(): | 162 for ref in storage["pages"][page_name][position].keys(): |
162 with open(file_store_root+page_name+"/"+ref+".csv", "w") as f: | 163 with open(file_store_root+page_name+"/"+ref+".csv", "w") as f: |
163 filewriter = csv.writer(f, delimiter=",") | 164 filewriter = csv.writer(f, delimiter=",") |
164 filewriter.writerow(storage["pages"][page_name][position][ref]["header"]) | 165 filewriter.writerow(storage["pages"][page_name][position][ref]["header"]) |
165 for row in storage["pages"][page_name][position][ref]["responses"]: | 166 for row in storage["pages"][page_name][position][ref]["responses"]: |
167 row = [element.encode("utf-8") for element in row] | |
166 filewriter.writerow(row) | 168 filewriter.writerow(row) |
167 | 169 |
168 #Time to plot | 170 # Time to plot |
169 | 171 |
170 def plotDurationHistogram(store, plot_id, saveloc): | 172 def plotDurationHistogram(store, plot_id, saveloc): |
171 x = [] | 173 x = [] |
172 for row in store["responses"]: | 174 for row in store["responses"]: |
173 r_temp = row[1] | 175 r_temp = row[1] |