Есть много способов прочитать файлы в записной книжке colab (**. Ipnb), некоторые из них:
- Монтирование вашего Google Диска в виртуальной машине среды выполнения. здесь и здесь
- Использование google.colab.files.upload (). самое простое решение
- Использование собственного REST API ;
- Использование оболочки вокруг API, такой как PyDrive
У меня сработали методы 1 и 2 , остальное я не мог понять. Если кто-то может, как другие пытались в сообщении выше, напишите элегантный ответ. заранее спасибо.!
Первый способ:
Мне не удалось смонтировать диск Google, поэтому я установил эти библиотеки
!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
После установки мне удалось смонтировать диск Google, все на вашем диске Google начинается с / content / drive
!ls /content/drive/ML/../../../../path_to_your_folder/
Теперь вы можете просто прочитать файл из path_to_your_folder
папки в pandas, используя указанный выше путь.
import pandas as pd
df = pd.read_json('drive/ML/../../../../path_to_your_folder/file.json')
df.head(5)
вы предполагаете, что используете абсолютный путь, который вы получили, и не используете /../ ..
Второй способ :
Что удобно, если ваш файл, который вы хотите прочитать, находится в текущем рабочем каталоге.
Если вам нужно загрузить какие-либо файлы из вашей локальной файловой системы, вы можете использовать приведенный ниже код, иначе просто избегайте этого.!
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])))
предположим, что у вас есть ниже иерархия папок на вашем диске Google:
/content/drive/ML/../../../../path_to_your_folder/
Затем вам просто нужен приведенный ниже код для загрузки в pandas.
import pandas as pd
import io
df = pd.read_json(io.StringIO(uploaded['file.json'].decode('utf-8')))
df