Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- import sys
- import chartmaker
- import csv
- arg_list = sys.argv
- if len(arg_list) < 2:
- sys.exit()
- def main(arg_list):
- filename = arg_list[1]
- def csv_list_maker(filename):
- csv_list = []
- open_file = open(filename)
- file_contents = open_file.readlines()
- for elem in file_contents:
- new_elem = elem.rstrip('\n')
- new_list = new_elem.split(',')
- csv_list.append(new_list)
- return csv_list
- open_file.close
- data = csv_list_maker(filename)
- def error_list_maker(data):
- error_list = []
- error_list.extend(data)
- return error_list
- error_list = error_list_maker(data)
- def error_classifier(error_list):
- for a in error_list:
- if a[3] == '[n]' and a[4] == '[n]':
- a.append('tp')
- elif a[3] == '[n]' and a[4] == '[b]':
- a.append('fn')
- elif a[3] == '[b]' and a[4] == '[n]':
- a.append('fp')
- elif a[3] == '[b]' and a[4] == '[b]':
- a.append('tn')
- else:
- a.append('N/A')
- data = csv_list_maker(filename)
- error_classifier(error_list)
- def row_to_column(error_list):
- lis = []
- lis2 = []
- n = 0
- while n < len(error_list[0]):
- for y in error_list:
- lis.append(y[n])
- lis2.append(lis)
- lis = []
- n+=1
- return lis2
- column_list = row_to_column(error_list)
- 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]}
- def filter_csvdata(error_list):
- false_list = []
- for elem in error_list:
- if elem[len(elem)-1] == 'fn':
- false_list.append(elem)
- elif elem[len(elem)-1] == 'fp':
- false_list.append(elem)
- return false_list
- false_list = filter_csvdata(error_list)
- def filter_csvdata_columns(false_list):
- lis = []
- lis2 = []
- n = 0
- while n < len(false_list[0]):
- for y in false_list:
- lis.append(y[n])
- lis2.append(lis)
- lis = []
- n+=1
- return lis2
- false_list = filter_csvdata_columns(false_list)
- filtered_column_data = { "trial": false_list[0], "time": false_list[2], "angle": false_list[5], "response": false_list[6]}
- # ladda in data från CSV, definitioner av funktioner och variabler inte
- # med i detta exempel.
- chartdata = { "orig": data, "filename": filename, "classified data": table_columns, "only errors": filtered_column_data }
- # skapa diagram
- return chartdata
- chartdata = main(arg_list)
- chartmaker.single(chartdata) #ska inte köras om vi kallar på scriptet från det andra scriptet
- print(chartdata) #ska inte köras om vi kallar på scriptet från det andra scriptet
- if __name__ == "__main__":
- main(arg_list)
- #!/usr/bin/env python3
- import chartmaker
- import chartmakerscript as f1
- import sys
- import csv
- def main():
- """TODO: när man kallar på det andra scriptet kommer den första filen man skickar som argument att öppnas med chartmaker.single"""
- sys.argv.pop(0)
- processed_data_list = []
- call_list = [1]
- for arg in sys.argv:
- call_list.append(arg)
- processed_data = f1.main(call_list)
- processed_data_list.append(processed_data)
- call_list = [1]
- chartmaker.multiple(processed_data_list)
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement