with fiona.open(constants.file_combined, 'r') as source:
filtered = filter(lambda f: f['properties']['NAME'] == name_dm1, source)
# **source.meta is a shortcut to get the crs, driver, and schema
# keyword arguments from the source Collection.
with fiona.open(out_dir + os.sep + name_dm1 + '.shp', 'w', **source.meta) as sink:
for feature in filtered:
try:
sink.write(feature)
except Exception, e:
# Writing uncleanable features to a different shapefile
# is another option.
print out_dir + os.sep + name_dm1 + '.shp'
I have a shapefile from which I want to select based on presence of certain values in a column called 'NAME'.
However, in the code above, it creates a shapefile with an empty attribute table even though I am sure there is data in the original shapefile.