Question: I have scripts to download and extract two shapefiles every 24 hours and create a cleaned DataFrame. I want to append the DataFrame for each one to a specific layer in a gpkg. The only example I can find replaces the contents of the existing layer, but I want to append the new df each day to an existing layer (of two total layers in the pgkg)

This is the snippet I have so far:

```py
df.to_file("myfile.gpkg", layer="layer1", driver="GPKG")

```

Answer: 
You can read the geopackage file and append the dataframe and then re-write it:

```
gdf_base = gpd.read_file("myfile.gpkg", layer='layer1')
gdf_base = gdf_base.append(df,ignore_index=True)
gdf_base .to_file("myfile.gpkg", layer="layer1", driver="GPKG")

```

If your data is too big to be read every day, then you need to look for Spatialite coding to append your data.

**UPDATE!**

The append method is going to be depricated. Use `concat` instead:

```
gdf_base = gpd.read_file("myfile.gpkg", layer='layer1')
gdf_base = pd.concat([gdf_base,df],ignore_index=True)
gdf_base .to_file("myfile.gpkg", layer="layer1", driver="GPKG")

```
From what i red from the [docs](https://geopandas.org/docs/user_guide/mergingdata.html) this should be half ccomplished with

```

df.geometry.append(another_red_df.geometry)

```

I don't think that the data will be added too. Here you can look further in the docs for joining values by attributes.