I have a gpkg with multiple tables, and I am trying to load it with geopandas:

import geopandas as gpd
filename = '~/example.gpkg'
gdf = gpd.read_file(filename)'

This returns the first table/layer in the gpkg. Is there any way to access the other layer, i.e. something like:

filename = '~/example.gpkg|second_table'

I'm guessing I might need to use fiona directly, but couldn't figure it out from the docs

1 Answer 1


Use the layer parameter:

gdf = gpd.read_file(r'C:\folder\geopackage.gpkg', layer='somelayername')

read_file uses fiona.open, see: fiona.open docs


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.