Wie können private Daten häufig in Google Colaboratory-Notizbücher importiert werden? Kann ich ein nicht öffentliches Google-Blatt importieren? Sie können nicht aus Systemdateien lesen. Die einführenden Dokumente verlinken in eine Anleitung zur Verwendung von BigQuery , aber das scheint ein bisschen ... sehr.
Ein offizielles Beispielnotizbuch zum Herunterladen/Herunterladen lokaler Dateien und zur Integration mit Drive und Arbeitsblättern ist hier verfügbar: https://colab.research.google.com/notebooks/io.ipynb
Das Freigeben von Dateien ist am einfachsten, wenn Sie Ihr Google Drive einhängen.
Führen Sie dazu in einer Codezelle Folgendes aus:
from google.colab import drive
drive.mount('/content/drive')
Danach werden Ihre Drive-Dateien angehängt und Sie können sie mit dem Dateibrowser im Seitenbereich durchsuchen.
Hier ist ein volles Beispielnotizbuch
Hochladen
from google.colab import files
files.upload()
Herunterladen
files.download('filename')
Verzeichnis auflisten
files.os.listdir()
Einfache Möglichkeit, Daten von Ihrem googledrive zu importieren - dadurch sparen Sie Zeit (nicht wissen, warum Google diese Schritt für Schritt nicht explizit auflistet).
INSTALLIEREN UND AUTHENTIFIZIEREN PYDRIVE
!pip install -U -q PyDrive ## you will have install for every colab session
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
# 1. Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
HOCHLADEN
wenn Sie Daten von einem lokalen Laufwerk hochladen müssen:
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])))
ausführen und dies wird eine Schaltfläche zum Auswählen der Datei anzeigen - finden Sie Ihre Upload-Datei - klicken Sie auf Öffnen
Nach dem Hochladen wird Folgendes angezeigt:
sample_file.json(text/plain) - 11733 bytes, last modified: x/xx/2018 - %100 done
User uploaded file "sample_file.json" with length 11733 bytes
DATEI FÜR NOTIZBUCH ERSTELLEN
Wenn sich Ihre Datendatei bereits in Ihrem Laufwerk befindet, können Sie mit diesem Schritt fortfahren.
Jetzt ist es in Ihrem Google-Laufwerk. Suchen Sie die Datei in Ihrem Google-Laufwerk und klicken Sie mit der rechten Maustaste. Klicken Sie auf "Mitbenutzbarer Link". Sie erhalten ein Fenster mit:
https://drive.google.com/open?id=29PGh8XCts3mlMP6zRphvnIcbv27boawn
Kopieren - '29PGh8XCts3mlMP6zRphvnIcbv27boawn' - Dies ist die Datei-ID.
In Ihrem Notebook:
json_import = drive.CreateFile({'id':'29PGh8XCts3mlMP6zRphvnIcbv27boawn'})
json_import.GetContentFile('sample.json') - 'sample.json' is the file name that will be accessible in the notebook.
DATEN IN NOTIZBUCH EINFUHREN
So importieren Sie die von Ihnen hochgeladenen Daten in das Notizbuch (eine Json-Datei in diesem Beispiel - wie Sie laden, hängt von Datei/Datentyp ab (.txt, .csv usw.)
sample_uploaded_data = json.load(open('sample.json'))
Jetzt können Sie drucken, um zu sehen, dass die Daten vorhanden sind:
print(sample_uploaded_data)
Der einfachste Weg, den ich gemacht habe, ist:
Auf diese Weise können Sie Ihre Dateien über Google Drive hochladen.
Führen Sie den folgenden Code aus (ich habe ihn irgendwo zuvor gefunden, aber ich kann die Quelle nicht wieder finden - Credits an den, der ihn geschrieben hat!):
!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}
Klicken Sie auf den ersten Link, der Sie auffordert, sich bei Google anzumelden. Danach erscheint ein weiteres Fenster, in dem Sie um Erlaubnis zum Zugriff auf Ihr Google Drive gebeten werden.
Führen Sie dann diesen Befehl aus, der ein Verzeichnis mit dem Namen "Laufwerk" erstellt und Ihr Google Drive mit diesem verknüpft:
!mkdir -p drive
!google-drive-ocamlfuse drive
Wenn Sie jetzt einen !ls
ausführen, gibt es ein Verzeichnislaufwerk, und wenn Sie einen !ls drive
ausführen, können Sie den gesamten Inhalt Ihres Google Drive sehen.
Wenn ich beispielsweise meine Datei mit dem Namen abc.txt
in einem Ordner mit dem Namen ColabNotebooks
in meinem Google Drive speichere, kann ich jetzt über einen Pfad drive/ColabNotebooks/abc.txt
darauf zugreifen.
Schneller und einfacher Import aus Dropbox:
!pip install dropbox
import dropbox
access_token = 'YOUR_ACCESS_TOKEN_HERE' # https://www.dropbox.com/developers/apps
dbx = dropbox.Dropbox(access_token)
# response = dbx.files_list_folder("")
metadata, res = dbx.files_download('/dataframe.pickle2')
with open('dataframe.pickle2', "wb") as f:
f.write(res.content)
Schritt 1 - Montieren Sie Ihr Google Drive in ein Collaboratory
from google.colab import drive
drive.mount('/content/gdrive')
Schritt 2 - Nun sehen Sie Ihre Google Drive-Dateien im linken Fensterbereich (Datei-Explorer). Klicken Sie mit der rechten Maustaste auf die Datei, die Sie importieren müssen, und wählen Sie "Kopierpfad . Importieren Sie anschließend wie üblich in Pandas diesen kopierten Pfad.
import pandas as pd
df=pd.read_csv('gdrive/My Drive/data.csv')
Erledigt!
Die einfachste Lösung, die ich bisher gefunden habe, die perfekt für kleine bis mittelgroße CSV-Dateien geeignet ist, ist:
pandas.read_csv(URL)
aufrufen.Dies funktioniert möglicherweise nicht, um eine Textdatei zeilenweise oder binäre Dateien zu lesen.
Auf der linken Leiste eines jeden Labors gibt es einen Abschnitt namens "Files" . Laden Sie Ihre Dateien dort hoch und verwenden Sie diesen Pfad
"/content/YourFileName.extension"
zB: pd.read_csv('/content/Forbes2015.csv');
Sie können meine Implementierungen auch unter google.colab und PyDrive unter https://github.com/ruelj2/Google_drive verwenden. Dies macht es viel einfacher.
!pip install - U - q PyDrive
import os
os.chdir('/content/')
!git clone https://github.com/ruelj2/Google_drive.git
from Google_drive.handle import Google_drive
Gd = Google_drive()
Wenn Sie dann alle Dateien in ein Google Drive-Verzeichnis laden möchten, klicken Sie einfach auf
Gd.load_all(local_dir, drive_dir_ID, force=False)
Oder einfach eine bestimmte Datei mit
Gd.load_file(local_dir, file_ID)
Es wurde gelöst, finden Sie hier Details und verwenden Sie bitte die folgende Funktion: https://stackoverflow.com/questions/47212852/how-to-import-and-read-a-shelve-or-numpy- File-in-Google-Colaboratory/49467113 # 49467113
from google.colab import files
import zipfile, io, os
def read_dir_file(case_f):
# author: yasser mustafa, 21 March 2018
# case_f = 0 for uploading one File and case_f = 1 for uploading one Zipped Directory
uploaded = files.upload() # to upload a Full Directory, please Zip it first (use WinZip)
for fn in uploaded.keys():
name = fn #.encode('utf-8')
#print('\nfile after encode', name)
#name = io.BytesIO(uploaded[name])
if case_f == 0: # case of uploading 'One File only'
print('\n file name: ', name)
return name
else: # case of uploading a directory and its subdirectories and files
zfile = zipfile.ZipFile(name, 'r') # unzip the directory
zfile.extractall()
for d in zfile.namelist(): # d = directory
print('\n main directory name: ', d)
return d
print('Done!')
wenn Sie dies ohne Code tun möchten, ist es ziemlich einfach. Zippen Sie Ihren Ordner in meinem Fall
dataset.Zip
klicken Sie dann in Colab mit der rechten Maustaste auf den Ordner, in den Sie diese Datei einfügen möchten, und klicken Sie auf Hochladen, um diese Zip-Datei hochzuladen. Danach schreiben Sie diesen Linux-Befehl.
!unzip <your_Zip_file_name>
sie können sehen, dass Ihre Daten erfolgreich hochgeladen wurden.
Hier können Sie Dateien von einem Google-Laufwerk in Notebooks importieren.
!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}
!mkdir -p drive
!google-drive-ocamlfuse drive
lassen Sie uns sagen, dass Ihre Dataset-Datei sich im Colab_Notebooks-Ordner befindet und der Name db.csv lautet
import pandas as pd
dataset=pd.read_csv("drive/Colab_Notebooks/db.csv")
Ich hoffe, es hilft