Advertisement
Guest User

Untitled

a guest
Dec 15th, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.74 KB | None | 0 0
  1. #!/usr/bin/env python3
  2. import sys
  3. import chartmaker
  4. import csv
  5.  
  6.  
  7. arg_list = sys.argv
  8.  
  9. if len(arg_list) < 2:
  10. sys.exit()
  11.  
  12. def main(arg_list):
  13.  
  14. filename = arg_list[1]
  15.  
  16. def csv_list_maker(filename):
  17. csv_list = []
  18. open_file = open(filename)
  19. file_contents = open_file.readlines()
  20. for elem in file_contents:
  21. new_elem = elem.rstrip('\n')
  22. new_list = new_elem.split(',')
  23. csv_list.append(new_list)
  24. return csv_list
  25. open_file.close
  26.  
  27. data = csv_list_maker(filename)
  28.  
  29. def error_list_maker(data):
  30. error_list = []
  31. error_list.extend(data)
  32. return error_list
  33.  
  34. error_list = error_list_maker(data)
  35.  
  36. def error_classifier(error_list):
  37. for a in error_list:
  38. if a[3] == '[n]' and a[4] == '[n]':
  39. a.append('tp')
  40. elif a[3] == '[n]' and a[4] == '[b]':
  41. a.append('fn')
  42. elif a[3] == '[b]' and a[4] == '[n]':
  43. a.append('fp')
  44. elif a[3] == '[b]' and a[4] == '[b]':
  45. a.append('tn')
  46. else:
  47. a.append('N/A')
  48.  
  49. data = csv_list_maker(filename)
  50. error_classifier(error_list)
  51.  
  52. def row_to_column(error_list):
  53. lis = []
  54. lis2 = []
  55. n = 0
  56. while n < len(error_list[0]):
  57. for y in error_list:
  58. lis.append(y[n])
  59. lis2.append(lis)
  60. lis = []
  61. n+=1
  62. return lis2
  63.  
  64. column_list = row_to_column(error_list)
  65. table_columns = { "trial": column_list[0], "condition": column_list[1], "time": column_list[2], "system": column_list[3], "user": column_list[4], "angle": column_list[5], "response": column_list[6]}
  66.  
  67. def filter_csvdata(error_list):
  68. false_list = []
  69. for elem in error_list:
  70. if elem[len(elem)-1] == 'fn':
  71. false_list.append(elem)
  72. elif elem[len(elem)-1] == 'fp':
  73. false_list.append(elem)
  74. return false_list
  75.  
  76. false_list = filter_csvdata(error_list)
  77. def filter_csvdata_columns(false_list):
  78. lis = []
  79. lis2 = []
  80. n = 0
  81. while n < len(false_list[0]):
  82. for y in false_list:
  83. lis.append(y[n])
  84. lis2.append(lis)
  85. lis = []
  86. n+=1
  87. return lis2
  88.  
  89. false_list = filter_csvdata_columns(false_list)
  90. filtered_column_data = { "trial": false_list[0], "time": false_list[2], "angle": false_list[5], "response": false_list[6]}
  91.  
  92. # ladda in data från CSV, definitioner av funktioner och variabler inte
  93. # med i detta exempel.
  94. chartdata = { "orig": data, "filename": filename, "classified data": table_columns, "only errors": filtered_column_data }
  95. # skapa diagram
  96. return chartdata
  97.  
  98. chartdata = main(arg_list)
  99. chartmaker.single(chartdata) #ska inte köras om vi kallar på scriptet från det andra scriptet
  100. print(chartdata) #ska inte köras om vi kallar på scriptet från det andra scriptet
  101.  
  102. if __name__ == "__main__":
  103. main(arg_list)
  104.  
  105.  
  106. #!/usr/bin/env python3
  107. import chartmaker
  108. import chartmakerscript as f1
  109. import sys
  110. import csv
  111.  
  112. def main():
  113. """TODO: när man kallar på det andra scriptet kommer den första filen man skickar som argument att öppnas med chartmaker.single"""
  114. sys.argv.pop(0)
  115. processed_data_list = []
  116. call_list = [1]
  117. for arg in sys.argv:
  118. call_list.append(arg)
  119. processed_data = f1.main(call_list)
  120. processed_data_list.append(processed_data)
  121. call_list = [1]
  122.  
  123. chartmaker.multiple(processed_data_list)
  124.  
  125. if __name__ == "__main__":
  126. main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement