Skip to content

Instantly share code, notes, and snippets.

@aerispaha
Created January 14, 2017 19:09
  • Star 12 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save aerispaha/f098916ac041c286ae92d037ba5c37ba to your computer and use it in GitHub Desktop.
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
@harshpme
Copy link

harshpme commented May 7, 2021

it worked!

@elvinado
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