Mercurial > hg > webaudioevaluationtool
diff scripts/score_parser.py @ 884:1dd209550560
Scripts: merge all three plot scripts in to one (box plot, scatter plot, mean plus confidence interval plot); bug fixes
author | Brecht De Man <BrechtDeMan@users.noreply.github.com> |
---|---|
date | Mon, 29 Jun 2015 17:19:46 +0100 |
parents | cd20f076f6a3 |
children | ba83143187d6 |
line wrap: on
line diff
--- a/scripts/score_parser.py Mon Jun 29 13:15:00 2015 +0100 +++ b/scripts/score_parser.py Mon Jun 29 17:19:46 2015 +0100 @@ -1,3 +1,5 @@ +#!/usr/bin/python + import xml.etree.ElementTree as ET import os import csv @@ -12,16 +14,15 @@ if file.endswith(".xml"): tree = ET.parse(folder_name + '/' + file) root = tree.getroot() - #print ["DEBUG Reading " + file + "..."] + #print "DEBUG Reading " + file + "..." # get subject ID from XML file - subject_id = file # file name as subject ID + subject_id = file[:-4] # file name (without extension) as subject ID # get list of all pages this subject evaluated for audioholder in root.findall("./audioholder"): # iterate over pages page_name = audioholder.get('id') # get page name - #print ["DEBUG page " + page_name] - + if page_name is None: # ignore 'empty' audio_holders break @@ -46,28 +47,32 @@ # if file exists, get header and add 'new' fragments if os.path.isfile(file_name): - #print ["DEBUG file " + file_name + " already exists - reading header"] + #print "DEBUG file " + file_name + " already exists - reading header" with open(file_name, 'r') as readfile: filereader = csv.reader(readfile, delimiter=',') headerrow = filereader.next() - #headerrow = headerrow[1:] # remove first column (empty) - # Which of the fragmentes are in fragmentnamelist but not in headerrow? - newfragments = list(set(fragmentnamelist)-set(headerrow)) - newfragments = sorted(newfragments) # new fragments in alphabetical order - # If not empty, read file and rewrite adding extra columns - if newfragments: # if not empty - print ["DEBUG New fragments found: " + str(newfragments)] - with open('temp.csv', 'w') as writefile: - filewriter = csv.writer(writefile, delimiter=',') - filewriter.writerow(headerrow + newfragments) # write new header + # Which of the fragmentes are in fragmentnamelist but not in headerrow? + newfragments = list(set(fragmentnamelist)-set(headerrow)) + newfragments = sorted(newfragments) # new fragments in alphabetical order + # If not empty, read file and rewrite adding extra columns + if newfragments: # if not empty + print ' '+page_name+','+file_name+','+subject_id + #print "DEBUG New fragments found: " + str(newfragments) + with open('temp.csv', 'w') as writefile: + filewriter = csv.writer(writefile, delimiter=',') + filewriter.writerow(headerrow + newfragments) # write new header + #print " "+str(headerrow + newfragments) # DEBUG + with open(file_name, 'r') as readfile: + filereader = csv.reader(readfile, delimiter=',') + filereader.next() # skip header for row in filereader: # rewrite row plus empty cells for every new fragment name - #print ["DEBUG Old row: " + str(row)] + #print " Old row: " + str(row) # DEBUG filewriter.writerow(row + ['']*len(newfragments)) - #print ["DEBUG New row: " + str(row + ['']*len(newfragments))] - os.rename('temp.csv', file_name) # replace old file with temp file - headerrow = headerrow + newfragments - print ["DEBUG New header row: " + str(headerrow)] + #print " New row: " + str(row + ['']*len(newfragments)) # DEBUG + os.rename('temp.csv', file_name) # replace old file with temp file + headerrow = headerrow + newfragments + #print "DEBUG New header row: " + str(headerrow) # if not, create file and make header else: