google-spreadsheet - from - google colab upload file
Importar datos a Google Colaboratory (13)
¿Cuáles son las formas comunes de importar datos privados en los cuadernos de colaboración de Google? ¿Es posible importar una hoja de Google no pública? No puede leer de los archivos del sistema. Los documentos introductorios enlazan a una guía sobre el uso de BigQuery , pero eso parece un poco ... mucho.
Aquí hay una forma de importar archivos de Google Drive a portátiles.
abra el cuaderno jupyter y ejecute el siguiente código y complete el proceso de autenticación
!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}
Una vez que haya terminado con el código anterior, ejecute el código siguiente para montar Google Drive
!mkdir -p drive
!google-drive-ocamlfuse drive
Importación de archivos de Google Drive a portátiles (Ej: Colab_Notebooks / db.csv)
digamos que su archivo de conjunto de datos en la carpeta Colab_Notebooks y su nombre es db.csv
import pandas as pd
dataset=pd.read_csv("drive/Colab_Notebooks/db.csv")
Espero que ayude
En la barra izquierda de cualquier colaborativo hay una sección llamada "Archivos". Sube tus archivos allí y usa esta ruta
"/content/YourFileName.extension"
ej .:
pd.read_csv(''/content/Forbes2015.csv'');
Esto le permite cargar sus archivos a través de Google Drive.
Ejecute el código a continuación (encontré esto en algún lugar anteriormente pero no puedo encontrar la fuente nuevamente, ¡créditos para quien lo escribió!):
!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}
Haga clic en el primer enlace que aparece que le pedirá que inicie sesión en Google; luego aparecerá otro que le pedirá permiso para acceder a su Google Drive.
Luego, ejecute esto, que crea un directorio llamado ''unidad'' y vincula su Google Drive a él:
!mkdir -p drive
!google-drive-ocamlfuse drive
Si lo hace ahora, habrá una unidad de directorio, y si lo hace, podrá ver todos los contenidos de su Google Drive.
Entonces, por ejemplo, si
abc.txt
mi archivo llamado
abc.txt
en una carpeta llamada
ColabNotebooks
en mi Google Drive, ahora puedo acceder a él a través de una
drive/ColabNotebooks/abc.txt
ruta
drive/ColabNotebooks/abc.txt
Importación rápida y fácil desde 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)
La forma más simple que he hecho es:
- Haga un repositorio en github con su conjunto de datos
- Clone su repositorio con! git clone --recursive [REPO DE ENLACE DE GITHUB]
- Encuentre dónde están sus datos (comando! Ls)
- Abra el archivo con pandas como lo hace en el cuaderno Jupyter normal.
La solución más simple que he encontrado hasta ahora y que funciona perfectamente para archivos CSV pequeños a medianos es:
- Cree una esencia secreta en gist.github.com y cargue (o copie y pegue el contenido de) su archivo.
- Haga clic en la vista sin formato y copie la URL del archivo sin formato.
-
Use la URL copiada como la dirección del archivo cuando llame a
pandas.read_csv(URL)
Esto puede o no funcionar para leer un archivo de texto línea por línea o archivos binarios.
Se ha resuelto, encuentre los detalles aquí y utilice la función a continuación: https://.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!'')
También puede usar mis implementaciones en google.colab y PyDrive en https://github.com/ruelj2/Google_drive lo que lo hace mucho más fácil.
!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()
Luego, si desea cargar todos los archivos en un directorio de Google Drive, simplemente
Gd.load_all(local_dir, drive_dir_ID, force=False)
O simplemente un archivo específico con
Gd.load_file(local_dir, file_ID)
Un cuaderno de ejemplo oficial que muestra la carga / descarga de archivos locales y la integración con Drive y las hojas está disponible aquí: https://colab.research.google.com/notebooks/io.ipynb
La forma más sencilla de compartir archivos es montar su Google Drive.
Para hacer esto, ejecute lo siguiente en una celda de código:
from google.colab import drive
drive.mount(''/content/drive'')
Luego, los archivos de Drive se montarán y podrá explorarlos con el explorador de archivos en el panel lateral.
Aquí hay un cuaderno de ejemplos completo
Una forma sencilla de importar datos desde su unidad de Google: esto ahorra tiempo a las personas (no sé por qué Google simplemente no enumera esto paso a paso explícitamente).
INSTALAR Y AUTENTICAR 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)
CARGANDO
Si necesita cargar datos del disco local:
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])))
ejecutar y esto mostrará un botón de elegir archivo - encuentre su archivo de carga - haga clic en abrir
Después de cargar, mostrará:
sample_file.json(text/plain) - 11733 bytes, last modified: x/xx/2018 - %100 done
User uploaded file "sample_file.json" with length 11733 bytes
CREAR ARCHIVO PARA CUADERNO
Si su archivo de datos ya está en su gdrive, puede saltar a este paso.
Ahora está en tu unidad de Google. Encuentra el archivo en tu unidad de Google y haz clic derecho. Haz clic en "enlace para compartir". Obtendrá una ventana con:
https://drive.google.com/open?id=29PGh8XCts3mlMP6zRphvnIcbv27boawn
Copia - ''29PGh8XCts3mlMP6zRphvnIcbv27boawn'' - esa es la ID del archivo.
En tu cuaderno:
json_import = drive.CreateFile({''id'':''29PGh8XCts3mlMP6zRphvnIcbv27boawn''})
json_import.GetContentFile(''sample.json'') - ''sample.json'' is the file name that will be accessible in the notebook.
IMPORTAR DATOS EN EL CUADERNO
Para importar los datos que cargó en el bloc de notas (en este ejemplo, un archivo json; la forma de cargar dependerá del tipo de archivo / datos: .txt, .csv, etc.):
sample_uploaded_data = json.load(open(''sample.json''))
Ahora puede imprimir para ver que los datos están ahí:
print(sample_uploaded_data)
si quieres hacer esto sin código, es bastante fácil. Comprime tu carpeta en mi caso, es
dataset.zip
luego, en Colab, haga clic derecho en la carpeta donde desea colocar este archivo y presione Cargar y cargar este archivo zip. Después de eso, escribe este comando de Linux.
!unzip <your_zip_file_name>
puede ver que sus datos se cargan correctamente.
Subir
from google.colab import files
files.upload()
Descargar
files.download(''filename'')
Directorio de listas
files.os.listdir()
paso 1- Monta tu Google Drive en Collaboratory
from google.colab import drive
drive.mount(''/content/gdrive'')
paso 2- Ahora verás tus archivos de Google Drive en el panel izquierdo (explorador de archivos). Haga clic derecho en el archivo que necesita importar y seleccione Copiar ruta. Luego importe como de costumbre en pandas, utilizando esta ruta copiada.
import pandas as pd
df=pd.read_csv(''gdrive/My Drive/data.csv'')
¡Hecho!