Impor data ke dalam Google Colaboratory

Jawaban:

197

Sebuah contoh buku catatan resmi yang menunjukkan unggahan / unduh file lokal dan integrasi dengan Drive dan sheet tersedia di sini: https://colab.research.google.com/notebooks/io.ipynb

Cara paling sederhana untuk berbagi file adalah dengan memasang Google Drive Anda.

Untuk melakukan ini, jalankan yang berikut ini dalam sel kode:

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

Ini akan meminta Anda untuk mengunjungi tautan ke MENGIZINKAN "Google Files Stream" untuk mengakses drive Anda. Setelah itu kode autentik alfanumerik panjang akan ditampilkan yang perlu dimasukkan dalam buku catatan Colab Anda.

Setelah itu, file Drive Anda akan dipasang dan Anda dapat menjelajahinya dengan browser file di panel samping.

masukkan deskripsi gambar di sini

Berikut ini contoh notebook lengkap

Bob Smith
sumber
3
Contoh lembar kini disertakan dalam buku catatan contoh yang dibundel yang juga menyertakan resep untuk Drive dan Google Cloud Storage: colab.research.google.com/notebook#fileId=/v2/external/…
Bob Smith
9
Bisakah saya mengimpor folder tertentu di Drive saya? Saya membagikan colab ini dengan orang lain, dan saya tidak ingin memberikan akses ke semua google drive saya yang berisi informasi sensitif
yellow01
4
File di Drive Anda tidak akan dibagikan jika Anda berbagi buku catatan. Pengguna masih perlu me-mount drive mereka sendiri, yang terpisah. Anda dapat berbagi file dengan pengguna itu jika diperlukan, tetapi semua itu dikendalikan oleh Drive ACL normal. Berbagi buku catatan Colab hanya membagikan buku catatan, bukan file Drive yang dirujuk dalam buku catatan itu.
Bob Smith
mount saya berhasil tetapi saya tidak dapat melihat daftar file di sisi kiri di bawah file. Ada saran?
Swapnil B.
3
Jangan melatih data di google drive yang terpasang. Pertama-tama salin data ke drive lokal dan kemudian latih. Ini akan menjadi hampir 10 kali lebih cepat. Untuk menyalin lebih cepat, pastikan file data arsip besar atau sejumlah kecil. Misalnya: - Jangan menggunakan 100000 file gambar. Gunakan masing-masing 100 arsip 1000 gambar. Cara mengunggah ke google drive ini juga lebih cepat dan begitu juga menyalin dari google drive ke colab
saurabheights
47

Unggah

from google.colab import files
files.upload()

Unduh

files.download('filename')

Daftar direktori

files.os.listdir()
井上 智 文
sumber
6
Apakah file yang diunggah disimpan di google drive pengguna atau server tempat notebook terhubung?
RodrikTheReader
1
Bukankah file-file ini fana?
Acumenus
Adakah argumen untuk mengunggah?
user25004
jawaban ini harus di atas. Pertanyaannya adalah tentang mengimpor data, bukan memasang drive Google.
Fernando Wittmann
18

Cara sederhana untuk mengimpor data dari googledrive Anda - melakukan hal ini menghemat waktu orang (tidak tahu mengapa Google tidak mencantumkan langkah ini secara bertahap).

INSTAL DAN PYDRIVE OTENTIKAT

     !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)

MENGUNGKAPKAN

jika Anda perlu mengunggah data dari drive lokal:

    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])))

jalankan dan ini akan menampilkan tombol pilih file - temukan file unggahan Anda - klik buka

Setelah mengunggah, itu akan menampilkan:

    sample_file.json(text/plain) - 11733 bytes, last modified: x/xx/2018 - %100 done
    User uploaded file "sample_file.json" with length 11733 bytes

BUAT FILE UNTUK NOTEBOOK

Jika file data Anda sudah ada di gdrive Anda, Anda dapat melewati langkah ini.

Sekarang ada di drive google Anda. Temukan file di google drive Anda dan klik kanan. Klik dapatkan 'tautan yang dapat dibagikan'. Anda akan mendapatkan jendela dengan:

    https://drive.google.com/open?id=29PGh8XCts3mlMP6zRphvnIcbv27boawn

Salin - '29PGh8XCts3mlMP6zRphvnIcbv27boawn' - itu adalah ID file.

Di buku catatanmu:

    json_import = drive.CreateFile({'id':'29PGh8XCts3mlMP6zRphvnIcbv27boawn'})

    json_import.GetContentFile('sample.json') - 'sample.json' is the file name that will be accessible in the notebook.

DATA IMPOR KE NOTEBOOK

Untuk mengimpor data yang Anda unggah ke buku catatan (file json dalam contoh ini - cara Anda memuat akan bergantung pada jenis file / data - .txt, .csv dll.):

    sample_uploaded_data = json.load(open('sample.json'))

Sekarang Anda bisa mencetak untuk melihat data yang ada:

    print(sample_uploaded_data)
MISALNYA
sumber
1
Perlu menunjukkan bahwa saran UPLOADING , via google.colab.files.upload()tampaknya tidak berfungsi baik pada Firefox maupun Safari, hanya Chrome. Lihat di sini
5agado
15

langkah 1- Pasang Google Drive ke Kolaborasi

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

langkah 2- Sekarang Anda akan melihat file Google Drive Anda di panel kiri (file explorer). Klik kanan pada file yang perlu Anda impor dan pilih jalur çopy. Kemudian impor seperti biasa dalam panda, menggunakan jalur yang disalin ini.

import pandas as pd
df=pd.read_csv('gdrive/My Drive/data.csv')

Selesai!

Garima Jain
sumber
Memenangkan kejelasan dan singkatnya dan memiliki efektivitas yang sama. Saya tidak melihat manfaat dari cara-cara yang jauh lebih terlibat untuk melakukan ini.
Elroch
7

Cara paling sederhana yang saya buat adalah:

  1. Buat repositori di github dengan dataset Anda
  2. Kloning repositori Anda dengan! git clone --recursive [GITHUB LINK REPO]
  3. Temukan di mana data Anda (perintah! Ls)
  4. Buka file dengan panda seperti yang Anda lakukan di notebook jupyter normal.
Rafał B.
sumber
Hai, dengan gapminder ini = pd.read_csv ("Analisis-Data / pairplots / data / gapminder_data.csv") saya hanya mendapatkan variabel "versi https: // .." dengan hanya 2 variabel
Mukul Sharma
2
Solusi ini tidak akan berhasil jika ukuran file tunggal lebih dari batas yang diizinkan github yang jika 20MB saya kira dalam versi gratis.
Akshay Soam
7

Ini memungkinkan Anda untuk mengunggah file Anda melalui Google Drive.

Jalankan kode di bawah ini (ditemukan di suatu tempat sebelumnya tetapi saya tidak dapat menemukan sumbernya lagi - kredit untuk siapa pun yang menulisnya!):

!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}

Klik tautan pertama yang muncul yang akan meminta Anda untuk masuk ke Google; setelah itu akan muncul lagi yang akan meminta izin untuk mengakses Google Drive Anda.

Kemudian, jalankan ini yang membuat direktori bernama 'drive', dan menautkan Google Drive Anda ke sana:

!mkdir -p drive
!google-drive-ocamlfuse drive

Jika Anda melakukannya !lssekarang, akan ada drive direktori, dan jika Anda melakukannya, !ls driveAnda dapat melihat semua konten Google Drive Anda.

Jadi misalnya, jika saya menyimpan file saya dipanggil abc.txtdalam folder yang disebut ColabNotebooksdi Google Drive saya, sekarang saya dapat mengaksesnya melalui jalurdrive/ColabNotebooks/abc.txt

yl_low
sumber
1
Sumber
Karan Singh
5

Di bilah kiri dari setiap kolaborator ada bagian yang disebut "File". Unggah file Anda di sana dan gunakan jalur ini

"/content/YourFileName.extension"

ex: pd.read_csv('/content/Forbes2015.csv');

Vivek Solanki
sumber
2
Pastikan Anda telah mengunggah langsung ke direktori root dan bukan di direktori 'sample_data'. Anda juga dapat menghapus "konten" dan cukup menulis nama file seperti:pd.read_csv('Forbes2015.csv');
Vivek Solanki
Jika masih tidak berhasil, dapatkah Anda memberi tahu saya pesan kesalahan?
Vivek Solanki
@ flashliquid Tidak perlu. Ia bekerja bahkan tanpa '/'. Anda dapat mengujinya di colab.
Vivek Solanki
3

Solusi paling sederhana yang saya temukan sejauh ini yang berfungsi sempurna untuk file CSV ukuran kecil hingga menengah adalah:

  1. Buat intis rahasia di gist.github.com dan unggah (atau salin-tempelkan konten) file Anda.
  2. Klik pada tampilan Raw dan salin URL file mentah.
  3. Gunakan URL yang disalin sebagai alamat file saat Anda menelepon pandas.read_csv(URL)

Ini mungkin atau mungkin tidak berfungsi untuk membaca file teks baris per baris atau file biner.

Borhan Kazimipour
sumber
1
Penting untuk dicatat bahwa walaupun intisari rahasia sulit ditemukan, mereka bukan pribadi, jadi siapa pun yang menggunakan pendekatan ini harus berhati-hati.
Grae
2

Impor cepat dan mudah dari 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)
delica
sumber
2

Bagi yang, seperti saya, berasal dari Google untuk kata kunci "unggah file colab":

from google.colab import files
uploaded = files.upload()
Fernando Wittmann
sumber
1

Anda juga dapat menggunakan implementasi saya di google.colab dan PyDrive di https://github.com/ruelj2/Google_drive yang membuatnya jauh lebih mudah.

!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()  

Kemudian, jika Anda ingin memuat semua file di direktori Google Drive, cukup

Gd.load_all(local_dir, drive_dir_ID, force=False)  

Atau hanya file tertentu dengan

Gd.load_file(local_dir, file_ID)
Jean-Christophe
sumber
Dalam hal ini apa itu "drive_dir_ID?"
Parseltongue
Seperti disebutkan dalam repo git, drive_dir_ID adalah Google Drive ID yang sesuai dari direktori yang diminta. Untuk info lebih lanjut, silakan periksa github.com/ruelj2/Google_drive . Ada juga contoh penggunaan yang jelas.
Jean-Christophe
1

Seperti yang disebutkan oleh @Vivek Solanki, saya juga mengunggah file saya di dasbor kolaborasi di bawah bagian "File". Catat di mana file telah diunggah. Bagi saya, train_data = pd.read_csv('/fileName.csv')berhasil.

Ishani
sumber
1

di google colabs jika ini pertama kalinya Anda,

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

jalankan kode-kode ini dan pergi melalui link output kemudian melewati pass-prase ke kotak

ketika Anda menyalin, Anda dapat menyalin sebagai berikut, pergi ke file klik kanan dan salin path *** jangan lupa untuk menghapus "/ konten"

f = open("drive/My Drive/RES/dimeric_force_field/Test/python_read/cropped.pdb", "r")
Niransha
sumber
1
  1. Anda dapat memasang ke google drive dengan menjalankan yang berikut

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

  2. Setelah itu Untuk pelatihan menyalin data dari folder root gdrive ke colab.

!cp -r '/content/drive/My Drive/Project_data' '/content'

di mana path pertama adalah path gdrive dan yang kedua adalah folder root colab.

Pelatihan cara ini lebih cepat untuk data besar.

qureshi asheer
sumber
0

Ini telah dipecahkan, temukan detailnya di sini dan silakan gunakan fungsi di bawah ini: /programming/47212852/how-to-import-and-read-a-shelve-or-numpy-file-in-google -kolaborator / 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!')
Yasser Mustafa
sumber
0

Berikut ini satu cara untuk mengimpor file dari google drive ke notebook.

buka jupyter notebook dan jalankan kode di bawah ini dan lakukan proses otentikasi

!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}

setelah selesai dengan kode di atas, jalankan kode di bawah ini untuk memasang google drive

!mkdir -p drive
!google-drive-ocamlfuse drive

Mengimpor file dari google drive ke notebook (Mis: Colab_Notebooks / db.csv)

katakanlah file dataset Anda di folder Colab_Notebooks dan namanya db.csv

import pandas as pd
dataset=pd.read_csv("drive/Colab_Notebooks/db.csv")

Saya harap ini membantu

Ravi G
sumber
0

jika Anda ingin melakukan ini tanpa kode itu cukup mudah. Zip folder Anda dalam kasus saya itu

dataset.zip

kemudian di Colab klik kanan pada folder di mana Anda ingin meletakkan file ini dan tekan Upload dan unggah file zip ini. Setelah itu tulis perintah Linux ini.

!unzip <your_zip_file_name>

Anda dapat melihat data Anda berhasil diunggah.

Arham Aalam
sumber
0

Jika ukuran Kumpulan data kurang dari 25mb, Cara termudah untuk mengunggah file CSV adalah dari repositori GitHub Anda.

  1. Klik pada kumpulan data di repositori
  2. Klik tombol Lihat Raw
  3. Salin tautan dan simpan dalam variabel
  4. memuat variabel ke Pandas read_csv untuk mendapatkan bingkai data

Contoh:

import pandas as pd
url = 'copied_raw_data_link'
df1 = pd.read_csv(url)
df1.head()
Lakshmikanth Gr
sumber