Існує багато способів читати файли у зошиті colab (**. Ipnb), серед них:
- Встановіть свій Google Drive у віртуальну машину середовища виконання. тут &, тут
- Використання google.colab.files.upload (). найпростіше рішення
- Використання власного REST API ;
- Використання обгортки навколо API, такого як PyDrive
Способи 1 і 2 працювали для мене , у решті я не зміг зрозуміти. Якщо хтось міг, як інші намагалися у вищезгаданому дописі, напишіть елегантну відповідь. Спасибі заздалегідь.!
Перший метод:
Я не зміг підключити свій google-диск, тому встановив ці бібліотеки
# Install a Drive FUSE wrapper.
# https://github.com/astrada/google-drive-ocamlfuse
!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
папки в панди, використовуючи вищевказаний шлях.
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/
Потім вам просто потрібен наведений нижче код для завантаження в панди.
import pandas as pd
import io
df = pd.read_json(io.StringIO(uploaded['file.json'].decode('utf-8')))
df