El problema es simple: tengo algunos datos en gDrive, por ejemplo en
/projects/my_project/my_data*
.
También tengo un cuaderno simple en gColab.
Entonces, me gustaría hacer algo como:
for file in glob.glob("/projects/my_project/my_data*"):
do_something(file)
Desafortunadamente, todos los ejemplos (como este: https://colab.research.google.com/notebook#fileId=/v2/external/notebooks/io.ipynb , por ejemplo) sugieren que solo se carguen principalmente todos los datos necesarios en el cuaderno.
Pero, si tengo muchos datos, puede ser bastante complicado. ¿Hay alguna oportunidad para resolver este problema?
¡Gracias por la ayuda!
python
google-colaboratory
Scitator
fuente
fuente
Respuestas:
Buenas noticias, PyDrive tiene soporte de primera clase en CoLab. PyDrive es un contenedor para el cliente Python de Google Drive. A continuación se muestra un ejemplo de cómo descargar TODOS los archivos de una carpeta, similar a usar
glob
+*
:Tenga en cuenta que los argumentos de
drive.ListFile
es un diccionario que coincide con los parámetros utilizados por la API HTTP de Google Drive (puede personalizar elq
parámetro para ajustarlo a su caso de uso).Tenga en cuenta que en todos los casos, los archivos / carpetas están codificados por identificaciones ( mire el 1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk ) en Google Drive. Esto requiere que busque en Google Drive la identificación específica correspondiente a la carpeta en la que desea rootear su búsqueda.
Por ejemplo, navegue hasta la carpeta
"/projects/my_project/my_data"
que se encuentra en su Google Drive.Ver que contiene algunos archivos, en los que queremos descargar a CoLab. Para obtener la identificación de la carpeta para usarla en PyDrive, mire la URL y extraiga el parámetro de identificación. En este caso, la url correspondiente a la carpeta era:
Donde la identificación es la última pieza de la URL: 1SooKSw8M4ACbznKjnNrYvJ5wxuqJ-YCk .
fuente
Editar : a partir de febrero de 2020, ahora hay una interfaz de usuario de primera clase para montar Drive automáticamente.
Primero, abra el explorador de archivos en el lado izquierdo. Mostrará un botón 'Montar unidad'. Una vez que haga clic, verá un mensaje de permisos para montar Drive, y luego sus archivos de Drive estarán presentes sin configuración cuando regrese a la computadora portátil. El flujo completo se ve así:
La respuesta original sigue, a continuación. (Esto también funcionará para cuadernos compartidos).
Puede montar sus archivos de Google Drive ejecutando el siguiente fragmento de código:
Luego, puede interactuar con sus archivos de Drive en el panel lateral del navegador de archivos o usando las utilidades de la línea de comandos.
Aquí hay un cuaderno de ejemplo
fuente
¡Gracias por las buenas respuestas! La forma más rápida de obtener algunos archivos únicos en Colab desde Google Drive: cargue el asistente de Drive y móntelo
Esto solicitará autorización.
Abra el enlace en una nueva pestaña-> obtendrá un código; cópielo de nuevo en el mensaje que ahora tiene acceso a Google Drive Check:
luego copie el (los) archivo (s) según sea necesario:
confirmar que los archivos se copiaron:
fuente
La mayoría de las respuestas anteriores son un poco (muy) complicadas,
Descubrí que esta es la forma más fácil y rápida de montar Google Drive en CO Lab.Puede cambiar
mount directory location
a lo que quiera simplemente cambiando el parámetrodrive.mount
. Le dará un enlace para aceptar los permisos con su cuenta y luego tendrá que copiar y pegar la clave generada y luego la unidad se montará en la ruta seleccionada.force_remount
se usa solo cuando tiene que montar la unidad independientemente de si se cargó previamente. Puede descuidar este parámetro cuando no desea forzar el montajeEditar: consulte esto para encontrar más formas de realizar las
IO
operaciones en colab https://colab.research.google.com/notebooks/io.ipynbfuente
No puede almacenar permanentemente un archivo en colab. Aunque puede importar archivos desde su unidad y cada vez que haya terminado con el archivo, puede volver a guardarlo.
Para montar Google Drive en su sesión de Colab
simplemente puede escribir en Google Drive como lo haría en un sistema de archivos local. Ahora, si ve que su Google Drive se cargará en la pestaña Archivos. Ahora puede acceder a cualquier archivo de su colab, puede escribir y leer desde él. Los cambios se realizarán en tiempo real en su unidad y cualquier persona que tenga el enlace de acceso a su archivo puede ver los cambios realizados por usted desde su colab.
Ejemplo
fuente
Soy vago y tengo mala memoria, así que decidí crear easycolab, que es más fácil de memorizar y escribir:
Asegúrese de instalarlo primero:
!pip install easycolab
El
mount()
método básicamente implementa esto:fuente
Simplemente puede hacer uso de los fragmentos de código a la izquierda de la pantalla. ingrese la descripción de la imagen aquí
Inserte "Montaje de Google Drive en su VM"
ejecute el código y copie y pegue el código en la URL
y luego use! ls para verificar los directorios
en la mayoría de los casos, encontrará lo que desee en el directorio "/ gdrive / Mi unidad"
entonces puedes realizarlo así:
fuente
Lo que he hecho es primero:
Luego
Después de que pueda, por ejemplo, leer archivos csv con
Si tiene diferentes ubicaciones para los archivos, simplemente agregue la ruta correcta después de Mi unidad
fuente
Escribí una clase que descarga todos los datos al '.' ubicación en el servidor colab
Todo se puede extraer desde aquí https://github.com/brianmanderson/Copy-Shared-Google-to-Colab
fuente
Para extraer el archivo zip de Google Drive de un cuaderno de Google Colab, por ejemplo:
fuente
@wenkesj
Estoy hablando de copiar el directorio y todos sus subdirectorios.
Para mí, encontré una solución, que se ve así:
Sin embargo, parece que a gDrive no le gusta copiar demasiados archivos.
fuente
Hay muchas formas de leer los archivos en su cuaderno colab (**. Ipnb), algunas son:
El método 1 y 2 funcionaron para mí , el resto no pude entender. Si alguien pudiera, como otros intentaron en la publicación anterior, escriba una respuesta elegante. gracias por adelantado.!
Primer método:
No pude montar mi unidad de Google, así que instalé estas bibliotecas
Una vez finalizado el proceso de instalación y autorización, primero monte su unidad.
Después de la instalación, pude montar la unidad de Google, todo en su unidad de Google comienza desde / content / drive
Ahora puede simplemente leer el archivo de la
path_to_your_folder
carpeta en pandas usando la ruta anterior.Segundo método :
Lo cual es conveniente, si el archivo que desea leer está presente en el directorio de trabajo actual.
Si necesita cargar algún archivo desde su sistema de archivos local, puede usar el siguiente código, de lo contrario simplemente evítelo.
suponga que tiene debajo de la jerarquía de carpetas en su unidad de Google:
Luego, simplemente necesita el siguiente código para cargar en pandas.
fuente
Para leer todos los archivos de una carpeta:
fuente
Esto funcionó perfecto para mí. Más tarde pude usar la
os
biblioteca para acceder a mis archivos tal como los accedo en mi PCfuente
Considere simplemente descargar el archivo con un enlace permanente y
gdown
preinstalado como aquífuente