def split_dict(): phase_dict = StoreHelper.load_data("phase_dict.dat", {}) phase_dict_single = {} phase_dict_double = {} for key, value in phase_dict.items(): if '_' in key: phase_dict_double[key] = value else: phase_dict_single[key] = value StoreHelper.save_file(DictHelper.get_sorted_list(phase_dict_single), 'phase_dict_single.txt') StoreHelper.save_file(DictHelper.get_sorted_list(phase_dict_double), 'phase_dict_double.txt')
def sorted_data_by_row(csv_columns, data_list, sort_data_row, escape_first): # step 1, parameters check if sort_data_row >= len(data_list): print ("Sort row large than the data row!") return # step 2, construct data structure new_csv_column = csv_columns[: escape_first] new_data_list = [row[: escape_first] for row in data_list] data_dict = {} # For each column for column in range(escape_first, len(csv_columns)): # Get the column data for each rwo data_column = [data_list[row][column] for row in range(len(data_list))] key_for_sort = float(data_list[sort_data_row][column]) while key_for_sort in data_dict: key_for_sort += random.randint(0, 100) * 0.000000001 data_dict[key_for_sort] = (csv_columns[column], data_column) # step 3, sorted by key sorted_list = DictHelper.get_sorted_list(data_dict, sorted_by_key=True) print (sorted_list) for key_for_sort, csv_data in sorted_list: new_csv_column.append(csv_data[0]) for row in range(len(new_data_list)): new_data_list[row].append(csv_data[1][row]) return new_csv_column, new_data_list