Каковы общие способы импорта частных данных в блокноты Google Colaboratory? Можно ли импортировать непубличный лист Google? Вы не можете читать из системных файлов. В ознакомительных документах есть ссылка на руководство по использованию BigQuery, но это кажется немного... многовато.
Официальный пример блокнота, демонстрирующий локальную загрузку/выгрузку файлов и интеграцию с Drive и sheets, доступен здесь: https://colab.research.google.com/notebooks/io.ipynb
Самый простой способ обмена файлами - подключить Google Drive.
Для этого в ячейке кода выполните следующее:
from google.colab import drive
drive.mount('/content/drive')
После этого файлы диска будут смонтированы, и вы сможете просматривать их с помощью браузера файлов в боковой панели.
Простой способ, чтобы импортировать данные из Google Диск - этим сэкономить людям время (Дон'т знаю, почему Google просто не'т список это шаг за шагом, явно).
УСТАНОВКИ И ПРОВЕРКИ ПОДЛИННОСТИ PYDRIVE
!pip install -U -q PyDrive ## you will have install for every colab session
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials
# 1. Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)
Загрузка
если вам нужно загрузить данные с локального диска:
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])))
выполнить и появится "выбрать файл" - найти свой загрузить файл - нажмите кнопку Открыть
После загрузки, он будет отображаться:
sample_file.json(text/plain) - 11733 bytes, last modified: x/xx/2018 - %100 done
User uploaded file "sample_file.json" with length 11733 bytes
СОЗДАТЬ ФАЙЛ ДЛЯ НОУТБУКА
Если ваши файл данные уже есть в вашем GDrive, вы можете пропустить этот шаг.
Сейчас он находится в вашем Google Диске. Найти файл на Google Диске и щелкните правой кнопкой мыши. Нажмите кнопку Get 'соответствующую ссылку.' вы получите окно с:
https://drive.google.com/open?id=29PGh8XCts3mlMP6zRphvnIcbv27boawn
Копировать - '29PGh8XCts3mlMP6zRphvnIcbv27boawn' - это идентификатор файла.
В записной книжке:
json_import = drive.CreateFile({'id':'29PGh8XCts3mlMP6zRphvnIcbv27boawn'})
json_import.GetContentFile('sample.json') - 'sample.json' is the file name that will be accessible in the notebook.
ИМПОРТ ДАННЫХ В ЗАПИСНУЮ КНИЖКУ
Чтобы импортировать данные, которые вы загрузили в ноутбук (в JSON файл, в данном примере - как вам нагрузки будет зависеть от файла/тип данных .тхт,.КШМ и т. д. ):
sample_uploaded_data = json.load(open('sample.json'))
Теперь вы можете печатать, чтобы увидеть данные есть:
print(sample_uploaded_data)
Шаг 1 - смонтировать Google Диск в сотрудничестве
from google.colab import drive
drive.mount('/content/gdrive')
Шаг 2 - Теперь вы увидите свои файлы с Google Диска на левой панели (проводник). Щелкните правой кнопкой мыши на файл, который нужно импортировать, и выберите çпуть ОПы. Затем импортировать как обычно в панд, используя этот скопированный путь.
import pandas as pd
df=pd.read_csv('gdrive/My Drive/data.csv')
Молодец!
Это позволяет вам загружать файлы через Гугл Диск.
Выполните ниже код (нашел это где-то раньше, но я могу'т найти источник - кредиты, кто это написал!):
!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}
Нажмите на первую ссылку, которая появляется, который предложит вам для входа в аккаунт Google, после чего другой появится, который будет просить разрешения на доступ на Google Диске.
Затем запустите этот, который создает каталог с именем 'езды', и ссылки Google Диске к нему:
!mkdir -p drive
!google-drive-ocamlfuse drive
Если вы делаете !ЛС-ну, там будет драйв каталог, и если вы делаете
!Общ езды вы можете увидеть все содержимое вашего Google Диска.
Так, например, если я сохранить мой файл abc.txt в папке под названием
ColabNotebooksна мой Google Диск, я могу теперь получить доступ к нему через путь
drive/ColabNotebooks/abc.txt`
Самый простой способ, который я сделал, это :
На левой панели любой colaboratory есть раздел под названием "файлы" по. Загружать туда свои файлы и использовать этот путь
"/content/YourFileName.extension"
экс: ПД.read_csv('/содержание/Forbes2015.КШМ');
Быстрый и простой импорт из Dropbox:
!pip install dropbox
import dropbox
access_token = 'YOUR_ACCESS_TOKEN_HERE' # https://www.dropbox.com/developers/apps
dbx = dropbox.Dropbox(access_token)
# response = dbx.files_list_folder("")
metadata, res = dbx.files_download('/dataframe.pickle2')
with open('dataframe.pickle2', "wb") as f:
f.write(res.content)
Самое простое решение, которое я нашел на данный момент и которое отлично работает для CSV-файлов небольшого и среднего размера, это:
pandas.read_csv(URL)
.Это может работать или не работать для чтения текстового файла построчно или бинарных файлов.
Вы также можете использовать свои реализации на Google.colab и PyDrive в https://github.com/ruelj2/Google_drive что делает его намного легче.
!pip install - U - q PyDrive
import os
os.chdir('/content/')
!git clone https://github.com/ruelj2/Google_drive.git
from Google_drive.handle import Google_drive
Gd = Google_drive()
Затем, если вы хотите загрузить все файлы в папку с Google Диска, просто
Gd.load_all(local_dir, drive_dir_ID, force=False)
Или только определенный файл с
Gd.load_file(local_dir, file_ID)
Как отметил Соланки @Вивек, я также загрузил свой файл на colaboratory приборной панели в том, что "файл" раздел.
Просто запомните, где файл был загружен. Для меня
train_data = ПД.read_csv('/именем.КШМ')
работал.
Было решено, найти подробности здесь и, пожалуйста, используйте функцию ниже: https://stackoverflow.com/questions/47212852/how-to-import-and-read-a-shelve-or-numpy-file-in-google-colaboratory/49467113#49467113
from google.colab import files
import zipfile, io, os
def read_dir_file(case_f):
# author: yasser mustafa, 21 March 2018
# case_f = 0 for uploading one File and case_f = 1 for uploading one Zipped Directory
uploaded = files.upload() # to upload a Full Directory, please Zip it first (use WinZip)
for fn in uploaded.keys():
name = fn #.encode('utf-8')
#print('\nfile after encode', name)
#name = io.BytesIO(uploaded[name])
if case_f == 0: # case of uploading 'One File only'
print('\n file name: ', name)
return name
else: # case of uploading a directory and its subdirectories and files
zfile = zipfile.ZipFile(name, 'r') # unzip the directory
zfile.extractall()
for d in zfile.namelist(): # d = directory
print('\n main directory name: ', d)
return d
print('Done!')
Вот один способ, чтобы импортировать файлы с 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
допустим, ваш файл данных в Colab_Notebooks папке и ее имя-дБ.КШМ
import pandas as pd
dataset=pd.read_csv("drive/Colab_Notebooks/db.csv")
Я надеюсь, что это помогает
если вы хотите сделать это без кода это'ы довольно легко. Зип папке в моем случае это
dataset.zip
затем в правом Colab нажмите на папку, в которую вы хотите поместить этот файл и нажмите Загрузить и загрузить этот файл zip. После этого напишите эту команду в Linux.
!unzip <your_zip_file_name>
вы можете увидеть ваши данные успешно загружены.