diff --git a/.gitignore b/.gitignore index 544f90a..11ba1eb 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,5 @@ nbproject/* *.csv* *.svg* *.json* +*.pyc* +*.py~ diff --git a/createCSV.py b/createCSV.py index 8f0d2a9..a0843a4 100644 --- a/createCSV.py +++ b/createCSV.py @@ -57,22 +57,24 @@ def exportRTT2CSV(files, output): print(resulttable) csv.writeCSV(output, zip(*resulttable)) -def exportLocktime2CSV(files, output): +def exportLocktime2CSV(files, output, output2): resulttable = [] - maxRow = 0 + resulttable2 = [] for fileName in files: jsonObject = ju.readJSON(fileName) runTime = float(jsonObject["runtime"]) locktTime = float(jsonObject["locktime"]) ratioTime = locktTime/runTime resulttable.append([fileName, ratioTime]) + resulttable2.append([fileName, locktTime]) print(resulttable) + print(resulttable2) csv.writeCSV(output, zip(*resulttable)) + csv.writeCSV(output2, zip(*resulttable2)) def exportRTT2CSV(files, output): resulttable = [] - maxRow = 0 for fileName in files: jsonObject = ju.readJSON(fileName) rtt = [fileName] @@ -82,6 +84,27 @@ def exportRTT2CSV(files, output): print(resulttable) csv.writeCSV(output, zip(*resulttable)) +def exportCNPN2CSV(files, output): + resulttable = [] + for fileName in files: + jsonObject = ju.readJSON(fileName) + lastViewID = "0" + + for key in jsonObject.keys(): + if (csv.is_number(key)) and (int(key) > int(lastViewID)): + lastViewID = key + + view = jsonObject[lastViewID] + clusterCount = float(view["cn"]) + peerCount = float(view["pn"]) + cnpn = peerCount / clusterCount + resulttable.append([fileName, cnpn]) + print(resulttable) + csv.writeCSV(output, zip(*resulttable)) + +exportCNPN2CSV(glob.glob("json/[0-9][0-9][0-9].json"),"test.csv") + + exportRV2CSV(glob.glob("[0-9][0-9][0-9].json_rv1"),"all.csv") exportRV2CSV(glob.glob("[0][0-9][0-9].json_rv1"),"0xx.csv") exportRV2CSV(glob.glob("[1][0-9][0-9].json_rv1"),"1xx.csv") @@ -99,21 +122,21 @@ exportRV2CSV(glob.glob("[0-9][0-9][7].json_rv1"),"xx7.csv") exportRV2CSV(glob.glob("[2][0][0-9].json_rv1"),"20x.csv") -exportLocktime2CSV(glob.glob("[0-9][0-9][0-9].json"),"all-locktime.csv") -exportLocktime2CSV(glob.glob("[0][0-9][0-9].json"),"0xx-locktime.csv") -exportLocktime2CSV(glob.glob("[1][0-9][0-9].json"),"1xx-locktime.csv") -exportLocktime2CSV(glob.glob("[2][0-9][0-9].json"),"2xx-locktime.csv") -exportLocktime2CSV(glob.glob("[0-9][0][0-9].json"),"x0x-locktime.csv") -exportLocktime2CSV(glob.glob("[0-9][1][0-9].json"),"x1x-locktime.csv") -exportLocktime2CSV(glob.glob("[0-9][2][0-9].json"),"x2x-locktime.csv") -exportLocktime2CSV(glob.glob("[0-9][0-9][0].json"),"xx0-locktime.csv") -exportLocktime2CSV(glob.glob("[0-9][0-9][1].json"),"xx1-locktime.csv") -exportLocktime2CSV(glob.glob("[0-9][0-9][2].json"),"xx2-locktime.csv") -exportLocktime2CSV(glob.glob("[0-9][0-9][3].json"),"xx3-locktime.csv") -exportLocktime2CSV(glob.glob("[0-9][0-9][4].json"),"xx4-locktime.csv") -exportLocktime2CSV(glob.glob("[0-9][0-9][5].json"),"xx5-locktime.csv") -exportLocktime2CSV(glob.glob("[0-9][0-9][7].json"),"xx7-locktime.csv") -exportLocktime2CSV(glob.glob("[2][0][0-9].json"),"20x-locktime.csv") +exportLocktime2CSV(glob.glob("[0-9][0-9][0-9].json"),"all-locktime.csv","all-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0][0-9][0-9].json"),"0xx-locktime.csv","0xx-locktimenn.csv") +exportLocktime2CSV(glob.glob("[1][0-9][0-9].json"),"1xx-locktime.csv","1xx-locktimenn.csv") +exportLocktime2CSV(glob.glob("[2][0-9][0-9].json"),"2xx-locktime.csv","2xx-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0-9][0][0-9].json"),"x0x-locktime.csv","x0x-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0-9][1][0-9].json"),"x1x-locktime.csv","x1x-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0-9][2][0-9].json"),"x2x-locktime.csv","x2x-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0-9][0-9][0].json"),"xx0-locktime.csv","xx0-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0-9][0-9][1].json"),"xx1-locktime.csv","xx1-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0-9][0-9][2].json"),"xx2-locktime.csv","xx2-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0-9][0-9][3].json"),"xx3-locktime.csv","xx3-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0-9][0-9][4].json"),"xx4-locktime.csv","xx4-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0-9][0-9][5].json"),"xx5-locktime.csv","xx5-locktimenn.csv") +exportLocktime2CSV(glob.glob("[0-9][0-9][7].json"),"xx7-locktime.csv","xx7-locktimenn.csv") +exportLocktime2CSV(glob.glob("[2][0][0-9].json"),"20x-locktime.csv","20x-locktimenn.csv") exportRTT2CSV(glob.glob("[0-9][0-9][0-9].json_rtt"),"all-rtt.csv") @@ -130,4 +153,21 @@ exportRTT2CSV(glob.glob("[0-9][0-9][3].json_rtt"),"xx3-rtt.csv") exportRTT2CSV(glob.glob("[0-9][0-9][4].json_rtt"),"xx4-rtt.csv") exportRTT2CSV(glob.glob("[0-9][0-9][5].json_rtt"),"xx5-rtt.csv") exportRTT2CSV(glob.glob("[0-9][0-9][7].json_rtt"),"xx7-rtt.csv") -exportRTT2CSV(glob.glob("[2][0][0-9].json_rtt"),"20x-rtt.csv") \ No newline at end of file +exportRTT2CSV(glob.glob("[2][0][0-9].json_rtt"),"20x-rtt.csv") + + +exportCNPN2CSV(glob.glob("[0-9][0-9][0-9].json"),"all-cnpn.csv") +exportCNPN2CSV(glob.glob("[0][0-9][0-9].json"),"0xx-cnpn.csv") +exportCNPN2CSV(glob.glob("[1][0-9][0-9].json"),"1xx-cnpn.csv") +exportCNPN2CSV(glob.glob("[2][0-9][0-9].json"),"2xx-cnpn.csv") +exportCNPN2CSV(glob.glob("[0-9][0][0-9].json"),"x0x-cnpn.csv") +exportCNPN2CSV(glob.glob("[0-9][1][0-9].json"),"x1x-cnpn.csv") +exportCNPN2CSV(glob.glob("[0-9][2][0-9].json"),"x2x-cnpn.csv") +exportCNPN2CSV(glob.glob("[0-9][0-9][0].json"),"xx0-cnpn.csv") +exportCNPN2CSV(glob.glob("[0-9][0-9][1].json"),"xx1-cnpn.csv") +exportCNPN2CSV(glob.glob("[0-9][0-9][2].json"),"xx2-cnpn.csv") +exportCNPN2CSV(glob.glob("[0-9][0-9][3].json"),"xx3-cnpn.csv") +exportCNPN2CSV(glob.glob("[0-9][0-9][4].json"),"xx4-cnpn.csv") +exportCNPN2CSV(glob.glob("[0-9][0-9][5].json"),"xx5-cnpn.csv") +exportCNPN2CSV(glob.glob("[0-9][0-9][7].json"),"xx7-cnpn.csv") +exportCNPN2CSV(glob.glob("[2][0][0-9].json"),"20x-cnpn.csv") \ No newline at end of file diff --git a/csv/__pycache__/csvutilies.cpython-33.pyc b/csv/__pycache__/csvutilies.cpython-33.pyc index 6f65191..31fe6d9 100644 Binary files a/csv/__pycache__/csvutilies.cpython-33.pyc and b/csv/__pycache__/csvutilies.cpython-33.pyc differ diff --git a/csv/createsummary.py b/csv/createsummary.py index f4e06cd..0375b5e 100644 --- a/csv/createsummary.py +++ b/csv/createsummary.py @@ -22,12 +22,20 @@ def summaryLocktime(files, output,outputSca): if csv.is_number(row[0]): summaryTabele.append(row) + summaryTabele[0].append("Aggregate") + scalTable[0].append("Mean:Aggregate") + scalTable[0].append("Var:Aggregate") + + for row in summaryTabele: + if csv.is_number(row[0]): + row.append(str(float(csv.aggrateRow(row, -1)))) + print(summaryTabele) csv.writeCSV(output, summaryTabele) scalTable.append([]) - for colindex in range(0, len(summaryTabele[0])-1): + for colindex in range(0, len(summaryTabele[0])): meanVar = csv.aggrateCol(colindex, summaryTabele) scalTable[-1].append(str(meanVar[0])) scalTable[-1].append(str(meanVar[1])) @@ -37,7 +45,7 @@ def summaryLocktime(files, output,outputSca): csv.writeCSV(outputSca, scalTable) -def summaryRTT(files, output,outputSca): +def summaryRTT(files, output, outputSca): summaryTabele = [[]] scalTable = [[]] firstfile = True @@ -56,12 +64,60 @@ def summaryRTT(files, output,outputSca): if csv.is_number(row[0]): summaryTabele.append(row) + summaryTabele[0].append("Aggregate") + scalTable[0].append("Mean:Aggregate") + scalTable[0].append("Var:Aggregate") + + for row in summaryTabele: + if csv.is_number(row[0]): + row.append(str(float(csv.aggrateRow(row, -1)))) print(summaryTabele) csv.writeCSV(output, summaryTabele) scalTable.append([]) - for colindex in range(0, len(summaryTabele[0])-1): + for colindex in range(0, len(summaryTabele[0])): + meanVar = csv.aggrateCol(colindex, summaryTabele) + scalTable[-1].append(str(meanVar[0])) + scalTable[-1].append(str(meanVar[1])) + + for row in scalTable: + print(row) + + csv.writeCSV(outputSca, scalTable) + +def summaryCNPN(files, output, outputSca): + summaryTabele = [[]] + scalTable = [[]] + firstfile = True + + for fileName in files: + fileTable = csv.readCSV(fileName) + + if firstfile: + firstfile = False + for head in fileTable[0]: + summaryTabele[0].append(head) + scalTable[0].append("Mean:"+head) + scalTable[0].append("Var:"+head) + continue + for row in fileTable: + if csv.is_number(row[0]): + summaryTabele.append(row) + + summaryTabele[0].append("Aggregate") + scalTable[0].append("Mean:Aggregate") + scalTable[0].append("Var:Aggregate") + + for row in summaryTabele: + if csv.is_number(row[0]): + row.append(str(float(csv.aggrateRow(row, -1)))) + print(summaryTabele) + csv.writeCSV(output, summaryTabele) + + + scalTable.append([]) + for colindex in range(0, len(summaryTabele[0])): meanVar = csv.aggrateCol(colindex, summaryTabele) scalTable[-1].append(str(meanVar[0])) scalTable[-1].append(str(meanVar[1])) @@ -104,6 +160,23 @@ summaryLocktime(glob.glob("xx5-locktime.csv-testpatt-*.csv"),"AGxx5-locktime.csv summaryLocktime(glob.glob("xx7-locktime.csv-testpatt-*.csv"),"AGxx7-locktime.csv", "scaxx7-locktime.csv") summaryLocktime(glob.glob("all-locktime.csv-testpatt-*.csv"),"AGall-locktime.csv", "scaall-locktime.csv") +summaryLocktime(glob.glob("0xx-locktimenn.csv-testpatt-*.csv"),"AG0xx-locktimenn.csv", "sca0xx-locktimenn.csv") +summaryLocktime(glob.glob("1xx-locktimenn.csv-testpatt-*.csv"),"AG1xx-locktimenn.csv", "sca1xx-locktimenn.csv") +summaryLocktime(glob.glob("2xx-locktimenn.csv-testpatt-*.csv"),"AG2xx-locktimenn.csv", "sca2xx-locktimenn.csv") +summaryLocktime(glob.glob("x0x-locktimenn.csv-testpatt-*.csv"),"AGx0x-locktimenn.csv", "scax0x-locktimenn.csv") +summaryLocktime(glob.glob("x1x-locktimenn.csv-testpatt-*.csv"),"AGx1x-locktimenn.csv", "scax1x-locktimenn.csv") +summaryLocktime(glob.glob("x2x-locktimenn.csv-testpatt-*.csv"),"AGx2x-locktimenn.csv", "scax2x-locktimenn.csv") +summaryLocktime(glob.glob("xx0-locktimenn.csv-testpatt-*.csv"),"AGxx0-locktimenn.csv", "scaxx0-locktimenn.csv") +summaryLocktime(glob.glob("xx1-locktimenn.csv-testpatt-*.csv"),"AGxx1-locktimenn.csv", "scaxx1-locktimenn.csv") +summaryLocktime(glob.glob("xx2-locktimenn.csv-testpatt-*.csv"),"AGxx2-locktimenn.csv", "scaxx2-locktimenn.csv") +summaryLocktime(glob.glob("xx3-locktimenn.csv-testpatt-*.csv"),"AGxx3-locktimenn.csv", "scaxx3-locktimenn.csv") +summaryLocktime(glob.glob("xx4-locktimenn.csv-testpatt-*.csv"),"AGxx4-locktimenn.csv", "scaxx4-locktimenn.csv") +summaryLocktime(glob.glob("xx5-locktimenn.csv-testpatt-*.csv"),"AGxx5-locktimenn.csv", "scaxx5-locktimenn.csv") +summaryLocktime(glob.glob("xx7-locktimenn.csv-testpatt-*.csv"),"AGxx7-locktimenn.csv", "scaxx7-locktimenn.csv") +summaryLocktime(glob.glob("all-locktimenn.csv-testpatt-*.csv"),"AGall-locktimenn.csv", "scaall-locktimenn.csv") + + + summaryRTT(glob.glob("0xx-rtt.csv-testpatt-*.csv"),"AG0xx-rtt.csv", "sca0xx-rtt.csv") summaryRTT(glob.glob("1xx-rtt.csv-testpatt-*.csv"),"AG1xx-rtt.csv", "sca1xx-rtt.csv") summaryRTT(glob.glob("2xx-rtt.csv-testpatt-*.csv"),"AG2xx-rtt.csv", "sca2xx-rtt.csv") @@ -118,3 +191,18 @@ summaryRTT(glob.glob("xx4-rtt.csv-testpatt-*.csv"),"AGxx4-rtt.csv", "scaxx4-rtt. summaryRTT(glob.glob("xx5-rtt.csv-testpatt-*.csv"),"AGxx5-rtt.csv", "scaxx5-rtt.csv") summaryRTT(glob.glob("xx7-rtt.csv-testpatt-*.csv"),"AGxx7-rtt.csv", "scaxx7-rtt.csv") summaryRTT(glob.glob("all-rtt.csv-testpatt-*.csv"),"AGall-rtt.csv", "scaall-rtt.csv") + +summaryCNPN(glob.glob("0xx-cnpn.csv-testpatt-*.csv"),"AG0xx-cnpn.csv", "sca0xx-cnpn.csv") +summaryCNPN(glob.glob("1xx-cnpn.csv-testpatt-*.csv"),"AG1xx-cnpn.csv", "sca1xx-cnpn.csv") +summaryCNPN(glob.glob("2xx-cnpn.csv-testpatt-*.csv"),"AG2xx-cnpn.csv", "sca2xx-cnpn.csv") +summaryCNPN(glob.glob("x0x-cnpn.csv-testpatt-*.csv"),"AGx0x-cnpn.csv", "scax0x-cnpn.csv") +summaryCNPN(glob.glob("x1x-cnpn.csv-testpatt-*.csv"),"AGx1x-cnpn.csv", "scax1x-cnpn.csv") +summaryCNPN(glob.glob("x2x-cnpn.csv-testpatt-*.csv"),"AGx2x-cnpn.csv", "scax2x-cnpn.csv") +summaryCNPN(glob.glob("xx0-cnpn.csv-testpatt-*.csv"),"AGxx0-cnpn.csv", "scaxx0-cnpn.csv") +summaryCNPN(glob.glob("xx1-cnpn.csv-testpatt-*.csv"),"AGxx1-cnpn.csv", "scaxx1-cnpn.csv") +summaryCNPN(glob.glob("xx2-cnpn.csv-testpatt-*.csv"),"AGxx2-cnpn.csv", "scaxx2-cnpn.csv") +summaryCNPN(glob.glob("xx3-cnpn.csv-testpatt-*.csv"),"AGxx3-cnpn.csv", "scaxx3-cnpn.csv") +summaryCNPN(glob.glob("xx4-cnpn.csv-testpatt-*.csv"),"AGxx4-cnpn.csv", "scaxx4-cnpn.csv") +summaryCNPN(glob.glob("xx5-cnpn.csv-testpatt-*.csv"),"AGxx5-cnpn.csv", "scaxx5-cnpn.csv") +summaryCNPN(glob.glob("xx7-cnpn.csv-testpatt-*.csv"),"AGxx7-cnpn.csv", "scaxx7-cnpn.csv") +summaryCNPN(glob.glob("all-cnpn.csv-testpatt-*.csv"),"AGall-cnpn.csv", "scaall-cnpn.csv") diff --git a/csv/csvutilies.py b/csv/csvutilies.py index 9029217..3936139 100644 --- a/csv/csvutilies.py +++ b/csv/csvutilies.py @@ -17,12 +17,13 @@ def aggrateRow(row,discardIndex): colCount = 0 colSum = 0 workcopy = row[:] - del workcopy[discardIndex] + if discardIndex >= 0: + del workcopy[discardIndex] for col in workcopy: colCount += 1 - if col.isnumeric(): - colSum += int(col) + if is_number(col): + colSum += float(col) return colSum / colCount def aggrateCol(colIndex, table):