1
resposta

[Dúvida] Acessar diversas planilhas do google em lotes

Estou trabalhando em um projeto que eu preciso acessar diversas planilhas em sequência e transformá-las em DataFrames. Para isso, estou usando a biblioteca "os" para iterar pela pasta buscando os arquivos, extrair o caminho do arquivo e usar esse caminho para acessar a planilha. Esse código foi montado com a ajuda da IA pois não tenho grandes conhecimentos na biblioteca os. Porém, eu gostaria de aplicar da mesma forma à planilhas do google (formato gsheets) e, como demonstrado na aula, para acessar as planilhas é preciso dos links individualmente, porém preciso processá-las em lotes. Poderiam me dar uma luz?

O código para processar arquivos xsls está abaixo:

import os
import pandas as pd

folder_path = [STRING COM O CAMINHO DA PASTA QUE TEM OS ARQUIVOS NO GOOGLE DRIVE MONTADO NO COLAB]
# Iterar em cada arquivo obtendo nome, para assim criar o caminho (variável file_path)
for file_name in os.listdir(folder_path):
    if file_name.endswith('.xlsx'):  # Verifica se é um arquivo XLSX
        file_path = os.path.join(folder_path, file_name)
        print(f"Lendo arquivo: {file_name}")
        # Ler o arquivo xlsx com pandas
        # Quero ler apenas só a primeira planilha do arquivo que tenham "AB" no nome
        relatorio = [nome for nome in pd.ExcelFile(file_path).sheet_names if "AB" in nome]
        df = read_excel(file_path, sheet_name=relatorio[0])
1 resposta

Ei, Henrique! Tudo bem?

Exatamente, no Google Sheets funciona diferente, cada planilha é um recurso na nuvem identificado por um linkk/ID e não um arquivo navegável por os.

Algumas sugestões que você pode acessar em lote é:

  • Ter uma lista de links e criar um código que baixe a planilha em formato de XLSX para abrir usando o pandas.
  • Ter uma planilha que contenha, em uma coluna, os links/IDS das outras planilhas. Depois, basta ler essa planilha índice uma vez e usar pandas para iterar nos links que ela contém.
  • Usar a API do Drive para buscar os arquivos automaticamente. As bibliotecas pydrive ou google-api-python-client pode te auxiliar.

Henrique, como faz parte de um projeto externo no qual não tenho conhecimento total do contexto, consigo apenas te sugerir alguns caminhos. Então avalie-os e veja qual fará mais sentido para o seu projeto.

Espero que seja um bom ponto de partida para te ajudar. Conte sempre conosco por aqui!

Até mais, Henrique!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado!