def __init__ (self, path=None): if path is None: path = "/Users/ostwald/devel/opensky/pubs_to_grants/ARTICLES_award_id_data/DOI_Reference_TABLE.csv" self.last_mod_map = {} self.pid_map = {} CsvReader.__init__ (self, path) for rec in self.data: self.last_mod_map[rec['lastmod']] = rec self.pid_map[rec['pid']] = rec
def __init__(self, path, filter_args={}, sort_args={}): self.sort_spec = SortSpec(**sort_args) self.filter_spec = FilterSpec(**filter_args) CsvReader.__init__(self, path) print '{} records before filtering'.format(len(self.data)) # print 'filter spec: {}'.format(self.filter_spec.spec) if filter_args is not None: self.filter_data() if self.sort_spec is not None: self.data.sort(key=lambda x: x[self.sort_spec.spec['field']]) if self.sort_spec.spec['reverse']: self.data.reverse()