Как загрузить файл, созданный в рабочей области Colaboratory?

Я нашел много советов, как загружать данные в Colaboratory.

Но теперь я хочу сделать наоборот -> я хочу загрузить .csv, который я создал в рабочей области Colaboratory.

Как это сделать?


person F1sher    schedule 13.02.2018    source источник


Ответы (8)


Использовать файлы colab lib

from google.colab import files
files.download('example.txt') 

PS: используйте браузер Chrome

person nidhin    schedule 05.05.2018
comment
Также обратите внимание, что вам необходимо включить сторонние файлы cookie. Связанный вопрос здесь - person vladkha; 04.10.2018
comment
Только что проверил с Firefox 74.0 на Ubuntu - тоже работает - person Alexey Tigarev; 02.04.2020

Вы можете использовать панель файлового менеджера.

Используйте Вид > Оглавление, чтобы отобразить боковую панель, затем нажмите вкладку Файлы. Нажмите файл правой кнопкой мыши и выберите Загрузить.

Панель файлов Google Colab

Примечание: процесс необычен тем, что ход загрузки не отображается в обычном виде в браузере. Вместо этого он показан оранжевым кружком рядом с файлом в Colab. Только когда загрузка завершена, она появляется в загрузках браузера.

Ход загрузки файла Google Colab

В Firefox лучше держать вкладку на переднем плане во время загрузки, иначе может произойти сбой.

person Tamlyn    schedule 19.12.2018
comment
Чтобы попасть туда, нажмите на просмотр --› оглавление --› Файлы - person max; 19.06.2019
comment
Сделал это. Файл нигде не найден, ни в каталоге загрузки моего firefox по умолчанию, ни в моем домашнем каталоге нигде, ни в загрузках, ни где-либо еще. Файл также не находится в каталоге bin или lib firefox. Так кто-нибудь на самом деле использовал это, кроме того, что представлял, как это должно работать. Если да, поделитесь с нами, куда делся файл. - person Geoffrey Anderson; 29.08.2019
comment
@GeoffreyAnderson В Firefox есть ошибки (как и следовало ожидать от Google в наши дни). Насколько я могу судить, это работает, если вы сохраняете фокус на этой вкладке, когда завершается кружок прогресса загрузки справа от имени файла. Вам не обязательно находиться на вкладке все время загрузки, но если вы находитесь на другой вкладке, когда загрузка завершается, загрузка не происходит, она просто исчезает в эфире. - person sundar - Remember Monica; 03.11.2019
comment
Внешний вид теперь другой. Меню с пометкой «Файлы» нет. Вместо этого откройте оглавление и нажмите кнопку в виде папки внизу вдоль левого поля. Посмотрите в /content - person nealmcb; 14.03.2021
comment
Это так же, как сказал @nealmcb, но я считаю, что поведение загрузки не изменилось. Вам все равно нужно удерживать фокус на вкладке после ее загрузки, иначе она просто исчезнет. - person Daniel Zaksevski; 20.04.2021

Сохраните его на диске Google, используя Pydrive

# Install the PyDrive wrapper & import libraries.
# This only needs to be done once in a notebook.
!pip install -U -q PyDrive
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials

# Authenticate and create the PyDrive client.
# This only needs to be done once in a notebook.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

# Create & upload a file.
uploaded = drive.CreateFile({'title': 'filename.csv'})
uploaded.SetContentFile('filename.csv')
uploaded.Upload()
print('Uploaded file with ID {}'.format(uploaded.get('id')))
person Mohamed Jihad    schedule 13.02.2018
comment
Вопрос был не в сохранении на GoogleDrive, а в загрузке прямо на локальную машину - person Christof Henkel; 20.04.2018
comment
Можно ли также указать каталог в GoogleDrive для загрузки файла? - person nhoeft; 24.06.2018
comment
Для тех, кто приходит из Google: продолжайте прокручивать вниз. Лучшие решения находятся внизу. - person Fernando Wittmann; 26.10.2019
comment
Вы можете напрямую подключить свой Google Диск к Colab Workspace. Кроме того, это позволяет выполнять пакетную загрузку: похоже, из Colab можно загружать файлы только один за другим, но если вы сначала сохраните их на Google Диске, вы сможете загрузить их оттуда. - person Lei; 03.07.2021

Вам нужно добавить эти две строки:

from google.colab import files
files.download('file.txt')

Если вы используете Firefox, то это может не сработать. Для выполнения этой работы:

  1. из файлов импорта google.colab
  2. В следующей ячейке напечатайте что-нибудь, например print('foo').
  3. После печати сотрите строку печати и замените ее на: files.download('file.txt')

Теперь он будет загружен. Это хакерское решение, рассказанное моим коллегой. Я не знаю, почему это работает! Если вы знаете, почему, пожалуйста, прокомментируйте это.

Существует более чистый и простой способ сделать это, который работает как в Firefox, так и в Chrome.

Нажмите на значок ›. Нажмите на файлы. Он отобразит все файлы и папки в вашей записной книжке. Щелкните левой кнопкой мыши на файле, который вы хотите загрузить, выберите «Загрузить», и все готово. Эту процедуру также можно применить для загрузки файла/папки. Однако для загрузки папки вам нужно сначала заархивировать ее.

person Ayush Jain    schedule 12.06.2019
comment
Если вы используете Firefox, то это не сработает. У меня это сработало в Firefox 86.0. - person aneccodeal; 10.03.2021
comment
О, хорошо, может быть, они исправили это. - person Ayush Jain; 12.03.2021

Вот подробное руководство по работе с файлами в Google Colab. . Если вы просто хотите сохранить свои данные как csv и загрузить их локально:

from google.colab import files

# e.g. save pandas output as csv
dataframe.to_csv('example.csv')

# or any other file as usual
# with open('example.csv', 'w') as f:
#   f.write('your strings here')

files.download('example.csv')
person Ostap Andrusiv    schedule 07.07.2018

Столкнулся с той же проблемой при загрузке csv из colab в Firefox. Вот быстрый обходной путь (работает для меня каждый раз, и это странно).

предположим, что я сохранил такой CSV -

from google.colab import files
submission.to_csv('./submission.csv', sep = ',', index = False)

Чтобы скачать это, я сначала попробую загрузить какой-нибудь файл, которого даже не существует, чтобы colab выдал ошибку

files.download('submission111111.csv')

затем беги

files.download('submission.csv')

который является фактическим файлом для загрузки. Это работает каждый раз для меня, и я не могу перестать смеяться, чтобы найти этот странный трюк.

person Rishabh    schedule 21.10.2019

Попробуйте эти функции ipython. !mkdir data && wget http://file_url/file_name.zip && unzip file.zip -d data/

person Jatin Balodhi    schedule 03.09.2018
comment
Это неправильно. OP явно хочет получить файл из colab на домашнюю машину, а не из Интернета в colab. - person nealmcb; 14.03.2021

Перемещение файлов и папок на Google Диск

  1. Подключить гугл диск - следуйте инструкциям на экране:
from google.colab import drive
drive.mount('/content/drive')

После этого шага вы увидите дополнительную папку в файловом менеджере боковой панели с именем drive.

  1. Скопируйте файлы либо методом перетаскивания с помощью боковой панели, либо с помощью этой команды (обратите внимание, необходимо убедиться, что указанная структура папок существует на смонтированном диске):
# Copying folders, format: !rsync -r --progress source_path destination_path
!rsync -r --progress "./model" "/content/drive/My Drive/Colab Notebooks/my-project/model" 

Вы также можете использовать ту же команду для перемещения файлов с Google Диска в среду ноутбука, что является удобным способом резервного копирования состояния в случае отключения во время выполнения.

person ego    schedule 10.05.2021