Читать файл с диска в Google Colab - PullRequest
0 голосов
/ 04 декабря 2018

Я прочитал записную книжку о том, как открыть диск.Я уже сделал в соответствии с инструкциями, используя:

from google.colab import drive
drive.mount('/content/drive')

После этого я могу использовать !ls для отображения содержимого моего диска, но я не могу прочитать или открыть какой-либо файл.Я уже пробовал:

with open("/content/drive/My Drive/filename.ext", "r") as file:

file = open("/content/drive/My Drive/filename.ext", "r")

!cp "/content/drive/My Drive/filename.ext" "filename.ext"

, а также

import pandas as pd

file = pd.read_csv("/content/drive/My Drive/filename.ext")

Но ничего из вышеперечисленного не сработало.Я всегда получаю «операция не поддерживается» или «не могу открыть файл для чтения».Я видел некоторые предложения использовать PyDrive.Но это делается путем копирования файла с Google Drive на Google Drive.Я не понимаю, почему вы должны копировать файлы туда и обратно, поскольку мне нужно перебирать все файлы в папке.Почему Google Colab не может просто прочитать файл, хранящийся на диске?Или я что-то не так делаю?Другое дело, что я загрузил кучу CSV-файлов, но на диске Google они перечислены как «.csv.gsheet» (с использованием glob).Может ли это быть проблема?У меня нет других идей.

Ответы [ 4 ]

0 голосов
/ 23 февраля 2019

Это довольно просто!

from google.colab import drive drive.mount('/content/drive')

Это попросит открыть URL, который авторизует монтирование после того, как вы скопируете токен.

Есливы не можете читать файлы даже сейчас, тогда префикс ваш путь к файлу с этим: 'drive/My Drive' и вы готовы идти.

Например: file = 'drive/My Drive/data/file.txt'

Где data - это каталог на моем Google Диске, содержащий файл file.txt.

0 голосов
/ 05 декабря 2018

Тот факт, что вы видите имена файлов ".csv.gsheet", даже если вы загружаете имена файлов ".csv", заставляет меня думать, что вы загружаете свои CSV-файлы на sheet.google.com вместо drive.google.com.Можете ли вы подтвердить, что при загрузке на drive.google.com все работает?

0 голосов
/ 05 декабря 2018

Я (частично) выяснил, что происходит, основываясь на ответах Боба Смита и Ами Ф.
Я считаю, что диск Google блокирует доступ для чтения из файлов, преобразованных в форматы дисков (gsheet, gdoc и т. Д.).И поэтому, всякий раз, когда я пытался использовать !cat или open, я получал ошибку «операция не поддерживается».Когда я попробовал пример Боба, создав файл и затем прочитав его, он работал на моей записной книжке.
Так что мне удалось запретить Google конвертировать файлы , удалить старые файлы и загрузить все на диск снова.Теперь все мои csv были сохранены без изменений (без расширения .gsheet), и я могу получить к ним доступ, используя open.

0 голосов
/ 04 декабря 2018

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

https://colab.research.google.com/drive/17iiKJPQOPv1eW5-Ctf707mPHXDtipE5G

Возможно, попробуйте сбросить свой бэкэнд, используя Runtime ->Сбросить все время выполнения меню.Или вы можете поделиться блокнотом, иллюстрирующим проблему?

...