Импорт данных в Google Colaboratory

Каковы распространенные способы импорта частных данных в Google Colaboratory notebooks? Можно ли импортировать непубличный лист Google? Вы не можете читать из системных файлов. Вводные документы ссылаются на руководство по использованию BigQuery, но это кажется немного... много.

Ответ 1

Официальный пример блокнота, демонстрирующий загрузку/выгрузку локальных файлов и интеграцию с Drive и листами, доступен здесь: https://colab.research.google.com/notebooks/io.ipynb

Самый простой способ обмениваться файлами - это подключить ваш Google Drive.

Для этого запустите следующее в ячейке кода:

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

После этого ваши файлы с диска будут смонтированы, и вы сможете просматривать их с помощью браузера файлов на боковой панели.

enter image description here

Вот полный пример тетради

Ответ 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 файлов малого и среднего размера:

  1. Создайте секретный список на gist.github.com и загрузите (или скопируйте и вставьте содержимое) свой файл.
  2. Нажмите на вид Raw и скопируйте URL-адрес необработанного файла.
  3. Используйте скопированный 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:

enter image description here

Выбранный файл будет доступен в текущем рабочем каталоге (полный путь - /content).

Обратите внимание, что в этом случае файлы не являются постоянными (они удаляются по истечении сеанса).

Ответ 15

Как упоминал @Vivek Solanki, я также загрузил свой файл на панель инструментов колаборатории в разделе "Файл". Просто запишите, куда был загружен файл. Для меня, train_data = pd.read_csv('/fileName.csv') работал.