Каковы распространенные способы импорта частных данных в Google Colaboratory notebooks? Можно ли импортировать непубличный лист Google? Вы не можете читать из системных файлов. Вводные документы ссылаются на руководство по использованию BigQuery, но это кажется немного... много.
Импорт данных в Google Colaboratory
Ответ 1
Официальный пример блокнота, демонстрирующий загрузку/выгрузку локальных файлов и интеграцию с Drive и листами, доступен здесь: https://colab.research.google.com/notebooks/io.ipynb
Самый простой способ обмениваться файлами - это подключить ваш Google Drive.
Для этого запустите следующее в ячейке кода:
from google.colab import drive
drive.mount('/content/drive')
После этого ваши файлы с диска будут смонтированы, и вы сможете просматривать их с помощью браузера файлов на боковой панели.
Ответ 2
Загрузить
from google.colab import files
files.upload()
Скачать
files.download('filename')
Список каталогов
files.os.listdir()
Ответ 3
Простой способ импортировать данные из вашего googledrive - это экономит время людей (не знаю, почему Google просто не перечисляет это шаг за шагом явно).
УСТАНОВИТЬ И ПОДТВЕРЖДАТЬ ПИР.
!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 и щелкните правой кнопкой мыши. Нажмите "получить доступную ссылку". Вы получите окно с:
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 в этом примере - то, как вы загружаете, будет зависеть от типа файла/данных -.txt,.csv и т.д.):
sample_uploaded_data = json.load(open('sample.json'))
Теперь вы можете распечатать, чтобы увидеть, что есть данные:
print(sample_uploaded_data)
Ответ 4
шаг 1- Подключите Google Drive к совместной работе
from google.colab import drive
drive.mount('/content/gdrive')
шаг 2- Теперь вы увидите ваши файлы Google Диска в левой панели (проводник). Щелкните правой кнопкой мыши файл, который нужно импортировать, и выберите "Копировать путь". Затем импортируйте как обычно в пандах, используя этот скопированный путь.
import pandas as pd
df=pd.read_csv('gdrive/My Drive/data.csv')
Готово!
Ответ 5
Самый простой способ, который я сделал:
- Сделать репозиторий на github с вашим набором данных
- Клонировать Ваш репозиторий! git clone --recursive [GITHUB LINK REPO]
- Найдите, где ваши данные (! ls command)
- Откройте файл с pandas, как вы делаете это в обычном ноутбуке jupyter.
Ответ 6
Это позволяет загружать ваши файлы через Google Drive.
Запустите приведенный ниже код (нашел это где-то ранее, но я не могу найти источник снова - кредиты тому, кто это написал!):
!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 Диску.
Затем запустите этот файл, который создаст каталог с именем "drive" и свяжет с ним ваш Google Drive:
!mkdir -p drive
!google-drive-ocamlfuse drive
Если вы сделаете !ls
сейчас, будет диск с каталогом, а если вы сделаете !ls drive
вы сможете увидеть все содержимое вашего Google Диска.
Так, например, если я abc.txt
свой файл с именем abc.txt
в папке с именем ColabNotebooks
на моем Google Диске, я теперь смогу получить к нему доступ через путь к drive/ColabNotebooks/abc.txt
Ответ 7
На левой панели любой колаборатории есть раздел "Файлы". Загрузите туда свои файлы и используйте этот путь
"/content/YourFileName.extension"
например: pd.read_csv('/content/Forbes2015.csv');
Ответ 8
Самое простое решение, которое я нашел до сих пор и которое идеально подходит для CSV файлов малого и среднего размера:
- Создайте секретный список на gist.github.com и загрузите (или скопируйте и вставьте содержимое) свой файл.
- Нажмите на вид Raw и скопируйте URL-адрес необработанного файла.
- Используйте скопированный URL в качестве адреса файла при вызове
pandas.read_csv(URL)
Это может или не может работать для чтения текстового файла построчно или двоичных файлов.
Ответ 9
Быстрый и простой импорт из 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)
Ответ 10
Вы также можете использовать мои реализации на 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 Drive, просто
Gd.load_all(local_dir, drive_dir_ID, force=False)
Или просто конкретный файл с
Gd.load_file(local_dir, file_ID)
Ответ 11
Это было решено, найдите подробности здесь и используйте следующую функцию: fooobar.com/questions/725968/...
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!')
Ответ 12
Вот один из способов импортировать файлы с Google Drive на ноутбуки.
откройте блокнот jupyter, запустите приведенный ниже код и завершите процесс аутентификации
!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
!mkdir -p drive
!google-drive-ocamlfuse drive
Импорт файлов с Google Drive в записные книжки (например, Colab_Notebooks/db.csv)
скажем, ваш файл набора данных в папке Colab_Notebooks и его имя db.csv
import pandas as pd
dataset=pd.read_csv("drive/Colab_Notebooks/db.csv")
Я надеюсь, что это помогает
Ответ 13
если вы хотите сделать это без кода, это довольно просто. Zip ваша папка в моем случае это
dataset.zip
затем в Colab щелкните правой кнопкой мыши папку, в которую вы хотите поместить этот файл, и нажмите "Upload" и загрузите этот zip файл. После этого напишите эту команду Linux.
!unzip <your_zip_file_name>
Вы можете видеть, что ваши данные успешно загружены.
Ответ 14
Для отдельных файлов и для быстрой проверки вы также можете использовать кнопку загрузки на боковой панели Colab:
Выбранный файл будет доступен в текущем рабочем каталоге (полный путь - /content
).
Обратите внимание, что в этом случае файлы не являются постоянными (они удаляются по истечении сеанса).
Ответ 15
Как упоминал @Vivek Solanki, я также загрузил свой файл на панель инструментов колаборатории в разделе "Файл".
Просто запишите, куда был загружен файл. Для меня,
train_data = pd.read_csv('/fileName.csv')
работал.