Existem muitas maneiras de ler os arquivos em seu bloco de notas colab (**. Ipnb), algumas são:
- Montando seu Google Drive na máquina virtual do runtime. aqui e aqui
- Usando google.colab.files.upload (). a solução mais fácil
- Usando a API REST nativa ;
- Usando um wrapper em torno da API, como PyDrive
Os métodos 1 e 2 funcionaram para mim , o resto eu não fui capaz de descobrir. Se alguém pudesse, como outros tentaram no post acima, escreva uma resposta elegante. desde já, obrigado.!
Primeiro método:
Não consegui montar meu Google Drive, então instalei essas bibliotecas
# Install a Drive FUSE wrapper.
# https://github.com/astrada/google-drive-ocamlfuse
!apt-get install -y -qq software-properties-common python-software-properties module-init-tools
!add-apt-repository -y ppa:alessandro-strada/ppa 2>&1 > /dev/null
!apt-get update -qq 2>&1 > /dev/null
!apt-get -y install -qq google-drive-ocamlfuse fuse
from google.colab import auth
auth.authenticate_user()
from oauth2client.client import GoogleCredentials
creds = GoogleCredentials.get_application_default()
import getpass
!google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret} < /dev/null 2>&1 | grep URL
vcode = getpass.getpass()
!echo {vcode} | google-drive-ocamlfuse -headless -id={creds.client_id} -secret={creds.client_secret}
Assim que o processo de instalação e autorização for concluído, você primeiro monta sua unidade.
!mkdir -p drive
!google-drive-ocamlfuse drive
Após a instalação, consegui montar o google drive, tudo no seu google drive começa em / content / drive
!ls /content/drive/ML/../../../../path_to_your_folder/
Agora você pode simplesmente ler o arquivo da path_to_your_folder
pasta para o pandas usando o caminho acima.
import pandas as pd
df = pd.read_json('drive/ML/../../../../path_to_your_folder/file.json')
df.head(5)
você deve usar o caminho absoluto recebido e não usar /../ ..
Segundo método :
O que é conveniente se o arquivo que você deseja ler estiver presente no diretório de trabalho atual.
Se você precisar fazer upload de qualquer arquivo de seu sistema de arquivos local, pode usar o código abaixo, caso contrário, apenas evite.
from google.colab import files
uploaded = files.upload()
for fn in uploaded.keys():
print('User uploaded file "{name}" with length {length} bytes'.format(
name=fn, length=len(uploaded[fn])))
suponha que você tenha abaixo da hierarquia de pastas em seu Google Drive:
/content/drive/ML/../../../../path_to_your_folder/
Então, você simplesmente precisa do código abaixo para carregar no pandas.
import pandas as pd
import io
df = pd.read_json(io.StringIO(uploaded['file.json'].decode('utf-8')))
df