#For creating a new-sheet
sheets.add_worksheet(title=sheetName, rows=df.shape[0], cols=df.shape[1])
#For appending
values = df.values.tolist()
sheets.values_append(sheetName, {'valueInputOption': 'USER_ENTERED'}, {'values': values})
It creates a new worksheet but there are no column names in it only the values.