Es gibt viele Möglichkeiten, die Dateien in Ihrem Colab-Notizbuch (**. Ipnb) zu lesen. Einige davon sind:
- Mounten Ihres Google Drive in der virtuellen Maschine der Laufzeit. hier & hier
- Verwenden von google.colab.files.upload (). die einfachste Lösung
- Verwenden der nativen REST-API ;
- Verwenden eines Wrappers um die API wie PyDrive
Methode 1 und 2 funktionierten für mich , Ruhe konnte ich nicht herausfinden. Wenn jemand könnte, wie andere im obigen Beitrag versucht haben, schreiben Sie bitte eine elegante Antwort. Danke im Voraus.!
Erste Methode:
Ich konnte mein Google-Laufwerk nicht bereitstellen, daher habe ich diese Bibliotheken installiert
# 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}
Sobald der Installations- und Autorisierungsprozess abgeschlossen ist, mounten Sie zuerst Ihr Laufwerk.
!mkdir -p drive
!google-drive-ocamlfuse drive
Nach der Installation konnte ich das Google-Laufwerk mounten. Alles in Ihrem Google-Laufwerk beginnt mit / content / drive
!ls /content/drive/ML/../../../../path_to_your_folder/
Jetzt können Sie die Datei einfach path_to_your_folder
über den obigen Pfad aus dem Ordner in Pandas lesen .
import pandas as pd
df = pd.read_json('drive/ML/../../../../path_to_your_folder/file.json')
df.head(5)
Sie nehmen an, Sie verwenden den absoluten Pfad, den Sie erhalten haben, und verwenden nicht /../ ..
Zweite Methode :
Was praktisch ist, wenn Ihre Datei, die Sie lesen möchten, im aktuellen Arbeitsverzeichnis vorhanden ist.
Wenn Sie Dateien aus Ihrem lokalen Dateisystem hochladen müssen, können Sie den folgenden Code verwenden, andernfalls vermeiden Sie ihn einfach.!
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])))
Angenommen, Sie haben unterhalb der Ordnerhierarchie in Ihrem Google-Laufwerk:
/content/drive/ML/../../../../path_to_your_folder/
Dann brauchen Sie einfach den folgenden Code, um in Pandas zu laden.
import pandas as pd
import io
df = pd.read_json(io.StringIO(uploaded['file.json'].decode('utf-8')))
df