示例#1
0
    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