Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Read a shapefile into a Pandas dataframe
def read_shapefile(shp_path):
Read a shapefile into a Pandas dataframe with a 'coords' column holding
the geometry information. This uses the pyshp package
import shapefile
#read file, parse out the records and shapes
sf = shapefile.Reader(shp_path)
fields = [x[0] for x in sf.fields][1:]
records = sf.records()
shps = [s.points for s in sf.shapes()]
#write into a dataframe
df = pd.DataFrame(columns=fields, data=records)
df = df.assign(coords=shps)
return df
Copy link

elvinado commented Aug 6, 2021

Thanks, This is useful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment