1

Currently I am sending DataFrames (Python/Pandas) to a Google Spreadsheet via gspread-dataframe Currently I'm pushing one DataFrame to One Google Spreadsheet.

my code is standard via the documentation, and looks like this:

from gspread_dataframe import get_as_dataframe, set_with_dataframe
import gspread
from oauth2client.service_account import ServiceAccountCredentials

scope = ['https://spreadsheets.google.com/feeds']
creds = ServiceAccountCredentials.from_json_keyfile_name('client_secret.json', scope)
google_client = gspread.authorize(creds)
sheet = google_client.open('User IDs').sheet1

My question: If I wanted to push multiple dataframes to multiple sheets on the same Google Spreadsheet, could I?

Note: I know I can make Separate Google Spreadsheets to hold Multiple DataFrames, but I would like to be able to have one Spreadsheet with Multiple sheets contained within it.

Thank you

Community
  • 1
  • 1
Chris
  • 76
  • 1
  • 9

1 Answers1

3

Google refers to "tabs" within Google Spreadsheets as "workbooks".

All you need to do is:

sheet1 = google_client.open('User IDs').workbook('sheet1')
sheet2 = google_client.open('User IDs').workbook('sheet2')
...
sheet_n = google_client.open('User IDs').workbook('sheet_n')

where 'sheet1'...'sheet_n' are the names of the workbooks within your spreadsheet 'User IDs'

THEN... you can push the data to the spreadsheet via

set_with_dataframe(WORKBOOK_NAME, DATAFRAME_NAME)

*assuming that you are using the gspread_dataframe module

Chris
  • 76
  • 1
  • 9