def __init__(self, map_fields_spec, ref_field_spec, keep_fields=False): field_maps = FieldMaps() field_maps.parse_from(map_fields_spec) self.fields_to_remove = ( set() if keep_fields else field_maps.input_field_names) # TODO: this is ugly, beautify ref_field_map = FieldMaps().parse_field_map_string(ref_field_spec) self.map = Map(field_maps, ref_field_map.output_field_name) self.ref_field_name = ref_field_map.input_field_name self.transformer = None
def __init__(self, map_fields_spec, ref_field_spec, keep_fields=False): field_maps = FieldMaps() field_maps.parse_from(map_fields_spec) self.fields_to_remove = (set() if keep_fields else field_maps.input_field_names) # TODO: this is ugly, beautify ref_field_map = FieldMaps().parse_field_map_string(ref_field_spec) self.map = Map(field_maps, ref_field_map.output_field_name) self.ref_field_name = ref_field_map.input_field_name self.transformer = None
def select(input_file, output_file, transform_spec): reader = csv.reader(input_file) writer = csv.writer(output_file) field_maps = FieldMaps() field_maps.parse_from(transform_spec) SimpleTransformer(field_maps).process(reader, writer)
def simple_transformer(field_maps_string): field_maps = FieldMaps() field_maps.parse_from(field_maps_string) return m.SimpleTransformer(field_maps)
def make_map(field_maps_spec, ref_field_name): field_maps = FieldMaps() field_maps.parse_from(field_maps_spec) return m.Map(field_maps, ref_field_name)