Ir para conteúdo
Fórum Script Brasil
  • 0

Erro ao Usar o Schedule.


Ramiro Isídio

Pergunta

Pessoal, possuo um código que pega informações do Excel e joga no Google Sheets, porém ao tentar agendar pelo Schedule esse código ele simplesmente não roda. Segue abaixo.

Aparece o seguinte erro: Indent expected: 14

No caso o erro está abaixo do Def Tarefa() 

tabela = pd.read_excel('LINK DA PLANILHA')

from __future__ import print_function
import time
import pandas as pd
import os.path
from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow
from googleapiclient.discovery import build
import schedule


def tarefa():

tabela = pd.read_excel('LINK DA PLANILHA')

SCOPES = ['https://www.googleapis.com/auth/spreadsheets']


def main():
    creds = None

    if os.path.exists('token.json'):
        creds = Credentials.from_authorized_user_file('token.json', SCOPES)
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'client_secret.json', SCOPES)
            creds = flow.run_local_server(port=0)
        with open('token.json', 'w') as token:
            token.write(creds.to_json())

    service = build('sheets', 'v4', credentials=creds)

    time.sleep(10)

    sheet = service.spreadsheets()
    result = sheet.values().get(spreadsheetId='LINK DO GOOGLE',
                                range='Base!A1:R1').execute()
    values = result.get('values', [])
    print(values)

    time.sleep(10)

    service.spreadsheets().values().update(spreadsheetId='LINK DO GOOGLE',
                                           range='Base!A2', valueInputOption="USER_ENTERED",
                                           body=dict(
                                               majorDimension='ROWS',
                                               values=tabela.values.tolist()
                                           )
                                           ).execute()

    time.sleep(10)


if __name__ == '__main__':
    main()

schedule.every().day.at("16:50").do(tarefa)

 

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0
2 minutos atrás, ArteEN disse:

o problema esta no def tarefa, é uma função vazia, vai dar erro mesmo, só compara com a def main que tem conteudo

 

Como que colocaria para a função tarefa pegar todo o código até o ultimo main() ? 
Minha primeira condição é inpultar o excel na tabela. 

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...