def loadToGoogleSheets(some_dataframe, spreadsheet_id, worksheetNumber = 0):
"""loads a csv file into a specified Tab in a specified Google Spreadsheet.
Can load data up to 21 columns"""
import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://spreadsheets.google.com/feeds']
credentials_file = 'AccessKey.json'
credentials = ServiceAccountCredentials.from_json_keyfile_name(credentials_file, scope)
gc = gspread.authorize(credentials)
sht = gc.open_by_key(spreadsheet_id)
worksheet = sht.get_worksheet(worksheetNumber)
stringList = ["A2:A", "B2:B", "C2:C", "D2:D", "E2:E", "F2:F", "G2:G", "H2:H", "I2:I", "J2:J", "K2:K", "L2:L", "M2:M", "N2:N", "O2:O", "P2:P", "Q2:Q", "R2:R", "S2:S", "T2:T", "U2:U", "V2:V", "W2:W", "X2:X", "Y2:Y", "Z2:Z"]
colNum = len(some_dataframe.columns)
stringList = stringList[0:colNum]
# add column names
try:
for i in range(colNum):
worksheet.update_cell(1, i+1, some_dataframe.columns[i])
except:
print("Failed to write in column names")
# add data
try:
maxRow = len(some_dataframe) + 1
worksheet.resize(rows = maxRow + 1000, cols = 30)
for i in range(colNum):
myString = stringList[i] + str(maxRow)
cell_list = worksheet.range(myString)
for x in range(len(cell_list)):
cell_list[x].value = some_dataframe.iloc[x, i]
worksheet.update_cells(cell_list)
except:
print("Failed to write data")
return None