I am trying to parse multiple sheets inside a spreadsheet from Google Sheets. Is running fine, except when it gets after the final sheet that cannot be found because it does not exist. As you can see I am doing that in a for loop with 200 iterations, but I would like to break the loop when the exception is raised.
My code:
def main_concat(id_file, n):
import httplib2
import os
import pandas as pd
import sys
from apiclient import discovery
try:
discoveryUrl = ('https://sheets.googleapis.com/$discovery/rest?'
'version=v4')
service = discovery.build(
'sheets',
'v4',
http=httplib2.Http(),
discoveryServiceUrl=discoveryUrl,
developerKey=key)
spreadsheetId = id_file
rangeName = f'Respuestas de formulario {n}!A1:L1000'
result = service.spreadsheets().values().get(
spreadsheetId=spreadsheetId, range=rangeName).execute()
values = result.get('values', [])
if not values:
print('No data found.')
else:
df=pd.DataFrame(values)
return df
except SystemExit:
print('No más hojas de formularios que extraer')
dfs=[]
for i in range(1,200):
df=main_concat('1nRAte3AH0pvLMQTg-SEkiSsy4MONJnpTADOGoDLA', i)
dfs.append(df)