Como usar o google drive no google colab
Tags: colab, programming, braziliandevs
Published: 2023-01-11 17:02:05

Usar o Google Drive no google colab é extremamente eficiente pra quem quer executar seus algoritmos em alta velocidade de processamento.

Então vou deixar aqui alguns comandos que vai te auxiliar a integrar essa funcionalidade.

## Importa a biblioteca do colab e monta o drive
```python
from google.colab import drive
drive.mount('/content/drive')
```

## Verifica se o diretório já existe
```python
# Import das bibliotecas.
import os # Biblioteca para manipular arquivos

# ============================  
def verificaDiretorio():
    """
      Verifica se existe o diretório.    
    """
    
    # Verifica se o diretório existe
    if not os.path.exists(DIRETORIO):  
        # Cria o diretório
        os.makedirs(DIRETORIO)
        logging.info("Diretório criado: {}".format(DIRETORIO))
    
    return DIRETORIO 
```
## Importa bibliotecas de log
```python
# Import das bibliotecas.
import logging # Biblioteca de logging

# Formatando a mensagem de logging
logging.basicConfig(format="%(asctime)s : %(levelname)s : %(message)s")

logger = logging.getLogger()
logger.setLevel(logging.INFO)
```


## Verifica se está executando no google colab
```python
# Import das bibliotecas.
import sys # Biblioteca para acessar módulos do sistema

# Se estiver executando no Google Colaboratory
# Retorna true ou false se estiver no Google Colaboratory
IN_COLAB = "google.colab" in sys.modules
```

## Define o nome do diretório(pastas)
Aqui você define em quais pastas do drive você irá trabalhar.
```python
# Diretório
DIRETORIO = "dados_saas"

# Diretório local para os arquivos pré-processados
DIRETORIO_LOCAL = "/content/" + DIRETORIO + "/"

# Diretório no google drive com os arquivos pré-processados
DIRETORIO_DRIVE = "/content/drive/MyDrive/Base_SAAS/" + DIRETORIO + "/" + BASE + "/"
```

Verifique se você está no diretório correto observando a pasta do drive.

![Print da tela do google drive mostrando o diretório descrito](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wqla6r7osuabpmubqg7i.png)


## Monta uma pasta de processamento local dentro do colab
```python
# Importando as bibliotecas.
import os

# Cria o diretório para receber os arquivos Originais e Permutados
# Diretório a ser criado
dirbase = DIRETORIO_LOCAL[:-1]

if not os.path.exists(dirbase):  
    # Cria o diretório
    os.makedirs(dirbase)    
    logging.info("Diretório criado: {}".format(dirbase))
else:    
    logging.info("Diretório já existe: {}".format(dirbase))
```

## Exporta um arquivo em pandas para o diretório local do colab
```python
# Import das bibliotecas.
import pandas as pd

NOME_ARQUIVO_ORIGINAL = 'original.csv'

# Salva o arquivo original
df.to_csv(DIRETORIO_LOCAL + NOME_ARQUIVO_ORIGINAL, sep=";", index=False)
```

# Copia do diretório local colab para o diretório do google drive
```python
# Se estiver executando no Google Colaboratory
if IN_COLAB:
    # Copia o arquivo original   
    !cp "$DIRETORIO_LOCAL$NOME_ARQUIVO_ORIGINAL" "$DIRETORIO_DRIVE"

    logging.info("Terminei a cópia")
```


## Acessa um arquivo CSV com o nome original.csv que está na pasta do diretório
```python
# Nome do arquivo
NOME_ARQUIVO_FONTE = "fact_caged.csv"

# Se estiver executando no Google Colaboratory
if IN_COLAB:

  !cp "$DIRETORIO_DRIVE$NOME_ARQUIVO_FONTE" "$DIRETORIO_LOCAL"
  
  logging.info("Terminei a cópia!")

import pandas as pd

df = pd.read_csv(DIRETORIO_LOCAL + NOME_ARQUIVO_FONTE, sep=";")

df.head(10)
```


## Zipa o arquivo e exporta
```python
# Nome do arquivo
NOME_ARQUIVO_ORIGINAL_COMPACTADO = "original.zip"

!zip -o -q -j "$DIRETORIO_LOCAL$NOME_ARQUIVO_ORIGINAL_COMPACTADO" "$DIRETORIO_LOCAL$NOME_ARQUIVO_ORIGINAL"

# Se estiver executando no Google Colaboratory
if IN_COLAB:
    # Copia o arquivo original   
    !cp "$DIRETORIO_LOCAL$NOME_ARQUIVO_ORIGINAL_COMPACTADO" "$DIRETORIO_DRIVE"

    logging.info("Terminei a cópia")

```

Espero que te traga uma luz como acessar seus arquivos do Google Drive no Google Colab.

Abraços!