def select_file_and_parse_rows(row_parser): filenames = utils.select_files(only_one_file=False, extension="csv (*.csv)") if filenames is None or not filenames: return Cancel() observations = [] for filename in filenames: filename = utils.returnunicode(filename) with io.open(filename, 'r', encoding='utf-8') as f: #Skip header f.readline() observations.extend(row_parser(f)) #Remove duplicates observations = [dict(no_duplicate) for no_duplicate in set([tuple(possible_duplicate.items()) for possible_duplicate in observations])] return observations