Mercurial > hg > do-we-sing-like-we-speak
diff sortCSV.py @ 0:26494c0d9ffd
Repo Creation
author | DaveM <d.j.moffat@qmul.ac.uk> |
---|---|
date | Wed, 14 Jan 2015 11:39:40 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sortCSV.py Wed Jan 14 11:39:40 2015 +0000 @@ -0,0 +1,102 @@ + +#!/usr/bin/python +# +# processCSV.py: analyse the results and return results breakdown for a given question type +# +# Usage: processCSV.py questionType intonationPattern +# If no intonation pattern or question type is given, then all results are presented. +# +# Example: processCSV.py +# Example: processCSV.py 'Wh' +# Example: processCSV.py 'Wh' 'F' +# Possible Questions: 'Echo', 'Wh', 'YN' +# Possible Intonations: 'RF', 'FR', 'F', 'R', 'H' + + + +import csv +import sys +import matplotlib.pyplot as plt +import numpy as np + + +if __name__=="__main__": + #Load Command Line Parameters + intPattern = None; + qType = None; + + if len(sys.argv) > 2: + intPattern = [sys.argv[2]] + else: + intPattern = ['RF', 'FR', 'F', 'R', 'H'] + if len(sys.argv) > 1: + qType = [sys.argv[1]] + else: + qType = ['Echo', 'Wh', 'YN'] + +#print(intPattern) +#print(qType) + + +reader = csv.DictReader(open('DataSetSummary.csv')) + +result = {} +for row in reader: + for column, value in row.iteritems(): + result.setdefault(column, []).append(value) +#print result['QType'] + +for q in qType: + qList = [j for j, x in enumerate(result['QType']) if x == q] +# print "%s count = %d" % (q, len(qList)) + for i in intPattern: + iList = [j for j, x in enumerate(result['Intonation']) if x == i] + count = 0 + tracks = [] + if (iList) != None: + for il in iList: + if il in qList: + count +=1 + tracks.append(il) +# print (i + ' vs. '+q+'=%d', count) +# if count > 0: + print "%s vs. %s = %d" % (q, i, count) + print tracks +# for t in tracks: +# trackName = "T%d/01.csv" % (t) +# trackReader = csv.reader(open(trackName)) +# xList = [] +# yList = [] +# for r in trackReader: +## print "In trackReader" +## print(r) +## print(r[1]) +# xList.append(r[0]) +## xList = [float(x) for x in xList] +# yList.append(r[1]) +## yList = [float(y) for y in yList] +# # Apply some smoothing and scaling +# # Vertical +# print yList +# print min(yList) +# yList = np.subtract(yList, min(yList)) +# print yList +# yList = np.divide(yList, max(yList)) +# print yList +# # Horizontal +# xList = np.subtract(xList, min(xList)) +# xList = np.divide(xList, max(xList)) +# +# +# plt.plot(xList,yList) +# plt.show() + +#result = {} +#for row in reader: +# print(row) +# key = row[1] +## if key in result: +## # implement your duplicate row handling here +## pass +# result[key] = row[1:] +#print result