https://docs.gspread.org/en/latest/
https://github.com/burnash/gspread
gc = gspread.authorize(creds)
sh = gc.open_by_key('ID')
ws = sh.get_worksheet(0)
ws.clear()
ws.freeze(rows=1, cols=1)
ws.update(values=[df.columns.values.tolist()] + df.values.tolist(), range_name='A1')