Verileri Google Colaboratory'ye aktarın


Yanıtlar:


197

Yerel dosya yükleme / indirme ve Drive ve sayfalarla entegrasyonu gösteren resmi bir örnek not defterine buradan ulaşabilirsiniz: https://colab.research.google.com/notebooks/io.ipynb

Dosya paylaşmanın en kolay yolu Google Drive'ınızı bağlamaktır.

Bunu yapmak için, bir kod hücresinde aşağıdakileri çalıştırın:

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

Sürücünüze erişmek için İZİN VERİN "Google Dosya Akışı" bağlantısını ziyaret etmenizi isteyecektir. Bundan sonra, Colab'ınızın not defterine girilmesi gereken uzun bir alfasayısal kimlik doğrulama kodu gösterilir.

Daha sonra Drive dosyalarınız bağlanır ve yan paneldeki dosya tarayıcısıyla bunlara göz atabilirsiniz.

resim açıklamasını buraya girin

İşte tam bir örnek defter


3
Drive ve Google Cloud Storage için tarifler de içeren paketlenmiş bir örnek not defterine artık bir sayfa örneği eklenmiştir: colab.research.google.com/notebook#fileId=/v2/external/…
Bob Smith

9
Drive'ımdaki belirli bir klasörü alabilir miyim? Bu kobayı başka biriyle paylaşıyorum ve hassas bilgiler içeren tüm Google sürücüme erişim vermek istemiyorum
yellow01

4
Not defterini paylaşırsanız Drive'ınızdaki dosyalar paylaşılmaz. Kullanıcının yine de ayrı olan kendi sürücüsünü bağlaması gerekir. Gerekirse dosyaları bu kullanıcıyla paylaşabilirsiniz, ancak bunların tamamı normal Drive ACL'leri tarafından kontrol edilir. Colab not defterini paylaşmak, o not defterinde referans verilen Drive dosyalarını değil yalnızca not defterini paylaşır.
Bob Smith

bağlantım başarılı, ancak dosyaların altında sol tarafta listelenen dosyaları göremiyorum. Baska öneri?
Swapnil B.

3
Bağlı google sürücüdeki verilerle ilgili eğitim almayın. Önce verileri yerel sürücüye kopyalayın ve daha sonra üzerinde çalışın. Neredeyse 10 kat daha hızlı olacak. Daha hızlı kopyalama için veri dosyalarının büyük veya daha küçük arşivler olduğundan emin olun. Örneğin: - 100000 görüntü dosyası kullanmayın. Her biri 1000 görüntüden oluşan 100 arşiv kullanın. Bu şekilde Google Drive'a yükleme de daha hızlıdır ve Google Drive'dan Colab'a kopyalama da
saurabheights

47

Yükleme

from google.colab import files
files.upload()

İndir

files.download('filename')

Liste dizini

files.os.listdir()

6
Yüklenen dosyalar kullanıcının google sürücüsünde veya dizüstü bilgisayarın bağlı olduğu sunucuda mı depolanıyor?
RodrikTheReader

1
Bu dosyalar geçici değil mi?
Acumenus

Yükleme için herhangi bir argüman var mı?
user25004

bu cevap en üstte olmalıdır. Soru, Google Drive'a bağlanmak yerine verileri içe aktarmakla ilgilidir.
Fernando Wittmann

18

Googledrive'ınızdan veri aktarmanın basit yolu - bu insanları zamandan kazandırır (Google'ın neden bu adımı açık bir şekilde listelemediğini bilmiyorum).

KURUM VE DOĞRULAMA PİRİDİ

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

YÜKLENİYOR

yerel sürücüden veri yüklemeniz gerekiyorsa:

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

yürütmek ve bu bir dosya seç düğmesi gösterecektir - yükleme dosyanızı bulun - açık tıklayın

Yükledikten sonra şunu görüntüler:

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

NOTEBOOK İÇİN DOSYA OLUŞTUR

Veri dosyanız zaten gdrive'ınızda bulunuyorsa, bu adıma atlayabilirsiniz.

Şimdi Google Drive'ınızda. Google sürücünüzde dosyayı bulun ve sağ tıklayın. 'Paylaşılabilir bağlantıyı al'ı tıklayın. Aşağıdakileri içeren bir pencere alacaksınız:

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

Kopya - '29PGh8XCts3mlMP6zRphvnIcbv27boawn' - dosya kimliği budur.

Not defterinizde:

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

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

VERİ DEFTERİNE İTHALAT

Not defterine yüklediğiniz verileri içe aktarmak için (bu örnekte bir json dosyası - nasıl yüklediğiniz dosya / veri türüne bağlı olacaktır - .txt, .csv vb.):

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

Şimdi verilerin orada olduğunu görmek için yazdırabilirsiniz:

    print(sample_uploaded_data)

1
O işaret değer yükleyerek öneri aracılığıyla google.colab.files.upload()Firefox ne de Safari, Chrome sadece ne üzerinde çalışmak için görünmüyor. Buraya
5agado

15

adım 1- Google Drive'ınızı Ortak Çalışmaya bağlayın

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

Adım 2- Şimdi Google Drive dosyalarınızı sol bölmede (dosya gezgini) göreceksiniz. İçe aktarmanız gereken dosyayı sağ tıklayın ve çopy yolunu seçin. Ardından bu kopyalanan yolu kullanarak her zamanki gibi pandalara aktarın.

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

Bitti!


Netlik ve kısalık kazanır ve eşit etkilidir. Bunu yapmanın daha karmaşık yollarına hiçbir avantaj görmüyorum.
Elroch

7

Yaptığım en basit yol:

  1. Veri kümenizle github'da depo yapın
  2. Deponuzu klonlayın! git clone - yineleyici [GITHUB LINK REPO]
  3. Verilerinizin nerede olduğunu bulun (! Ls komutu)
  4. Normal jupyter not defterinde yaptığınız gibi dosyayı pandalarla açın.

Merhaba, bu gapminder = pd.read_csv ("Data-Analysis / pairplots / data / gapminder_data.csv") ile Ben sadece "sürüm https: // .." değişken sadece 2 gözlemevi ile alıyorum
Mukul Sharma

2
Tek bir dosya boyutu github izin verilen sınırdan fazla ise bu çözüm işe yaramazsa, 20MB ücretsiz sürümde sanırım.
Akshay Soam

7

Bu, dosyalarınızı Google Drive üzerinden yüklemenizi sağlar.

Aşağıdaki kodu çalıştırın (daha önce bir yerde buldum ama kaynağı tekrar bulamıyorum - kim yazmışsa kredi!):

!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'da oturum açmanızı isteyen ilk bağlantıyı tıklayın; bundan sonra Google Drive'ınıza erişmek için izin isteyecek bir başkası görünür.

Ardından, 'sürücü' adlı bir dizin oluşturan ve Google Drive'ınızı ona bağlayan bu dizini çalıştırın:

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

!lsŞimdi yaparsanız , bir dizin sürücüsü olacaktır ve bunu yaparsanız !ls driveGoogle Drive'ınızın tüm içeriğini görebilirsiniz.

Örneğin, çağrı yaptığım dosyayı Google Drive'ımdaki abc.txtbir klasöre kaydedersem ColabNotebooks, artık dosyaya bir yol üzerinden erişebilirimdrive/ColabNotebooks/abc.txt



5

Herhangi bir ortak çalışmanın sol çubuğunda "Dosyalar" adlı bir bölüm vardır. Dosyalarınızı oraya yükleyin ve bu yolu kullanın

"/content/YourFileName.extension"

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


2
'Sample_data' dizinine değil, doğrudan kök dizine yüklediğinizden emin olun. Ayrıca, "içerik" kaldırmak ve sadece gibi dosya adı yazabilirsiniz:pd.read_csv('Forbes2015.csv');
Vivek Solanki

Hala çalışmıyorsa, bana hata mesajını söyleyebilir misiniz?
Vivek Solanki

@flashliquid Gerekli değil. '/' Olmadan da çalışır. Kolab üzerinde test edebilirsiniz.
Vivek Solanki

3

Küçük ve orta boy CSV dosyaları için mükemmel çalışan şimdiye kadar bulduğum en basit çözüm:

  1. Gist.github.com'da gizli bir özgeçmiş oluşturun ve dosyanızı yükleyin (veya içeriğini kopyalayıp yapıştırın).
  2. Ham görünümü tıklayın ve ham dosya URL'sini kopyalayın.
  3. Aradığınızda kopyalanan URL'yi dosya adresi olarak kullanın pandas.read_csv(URL)

Bu, bir metin dosyasını satır satır veya ikili dosyalar okumak için işe yarayabilir veya çalışmayabilir.


1
Gizli yumrukların keşfedilmeleri zor olsa da özel olmadıklarını belirtmek önemlidir , bu nedenle bu yaklaşımı kullanan herkes dikkatli olmalıdır.
Grae

2

Dropbox'tan hızlı ve kolay içe aktarma:

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

2

Benim gibi Google'dan "dosya yükleme kolabı" anahtar kelimesi için gelenler için:

from google.colab import files
uploaded = files.upload()

1

Uygulamalarımı google.colab ve PyDrive'daki https://github.com/ruelj2/Google_drive adresinden de kullanabilirsiniz .

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

Ardından, tüm dosyaları bir Google Drive dizinine yüklemek istiyorsanız,

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

Veya yalnızca

Gd.load_file(local_dir, file_ID)

Bu durumda "drive_dir_ID" nedir?
Parseltongue

Git repo'da belirtildiği gibi, drive_dir_ID istenen dizinin karşılık gelen Google Drive kimliğidir. Daha fazla bilgi için lütfen github.com/ruelj2/Google_drive adresini ziyaret edin . Ayrıca açık bir kullanım örneği de vardır.
Jean-Christophe

1

@Vivek Solanki tarafından belirtildiği gibi, dosyamı "Dosya" bölümünün altındaki birlikte çalışma kontrol paneline de yükledim. Dosyanın nereye yüklendiğini not edin. Benim için train_data = pd.read_csv('/fileName.csv')çalıştı.


1

google colabs’ta ilk defa kullanıyorsanız,

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

bu kodları çalıştırın ve sonra çıkış bağlantısı üzerinden geçip kutuya geçmek

kopyaladığınızda aşağıdaki gibi kopyalayabilirsiniz, dosyaya sağ tıklayın ve yolu kopyalayın *** "/ content" kaldırmayı unutmayın

f = open("drive/My Drive/RES/dimeric_force_field/Test/python_read/cropped.pdb", "r")

1
  1. Google Drive'a aşağıdakileri çalıştırarak bağlanabilirsiniz

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

  2. Daha sonra eğitim için verileri gdrive'dan kolab kök klasörüne kopyalayın.

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

burada birinci yol gdrive yol, ikincisi kolab kök klasörüdür.

Bu şekilde eğitim büyük veriler için daha hızlı olur.


0

Çözüldü, ayrıntıları burada bulabilirsiniz ve lütfen aşağıdaki işlevi kullanın: /programming/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!')

0

İşte google sürücüden not defterlerine dosya aktarmanın bir yolu.

jupyter not defterini açın ve aşağıdaki kodu çalıştırın ve kimlik doğrulama işlemini tamamlayın

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

yukarıdaki kodla işiniz bittiğinde, google sürücüsünü bağlamak için aşağıdaki kodu çalıştırın

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

Google sürücüden not defterlerine dosya aktarma (Örn: Colab_Notebooks / db.csv)

Diyelim ki veri kümesi dosyanız Colab_Notebooks klasöründe ve adı db.csv

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

Umut ediyorum bu yardım eder


0

kod olmadan bunu yapmak oldukça kolaydır. Klasörünü benim durumumda sıkıştır

dataset.zip

ardından Colab'da bu dosyayı koymak istediğiniz klasörü sağ tıklayın ve Yükle'ye basın ve bu zip dosyasını yükleyin. Bundan sonra bu Linux komutunu yazın.

!unzip <your_zip_file_name>

verilerinizin başarıyla yüklendiğini görebilirsiniz.


0

Veri kümesi boyutu 25mb'den küçükse, CSV dosyası yüklemenin en kolay yolu GitHub deponuzdur.

  1. Depodaki veri kümesine tıklayın
  2. Raw Görüntüle düğmesini tıklayın
  3. Bağlantıyı kopyalayın ve bir değişkente saklayın
  4. veri çerçevesini almak için değişkeni Pandalar read_csv dosyasına yükleyin

Misal:

import pandas as pd
url = 'copied_raw_data_link'
df1 = pd.read_csv(url)
df1.head()
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.