Подтвердить что ты не робот

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

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

4b9b3361

Ответ 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') работал.