Google Colaboratory में डेटा आयात करें


156

Google सहयोगी नोटबुक में निजी डेटा आयात करने के सामान्य तरीके क्या हैं? क्या गैर-सार्वजनिक Google शीट आयात करना संभव है? आप सिस्टम फ़ाइलों से नहीं पढ़ सकते हैं। परिचयात्मक डॉक्स BigQuery का उपयोग करने पर एक गाइड से लिंक करता है , लेकिन यह थोड़ा सा लगता है ... बहुत कुछ।

जवाबों:


197

स्थानीय फ़ाइल अपलोड / डाउनलोड और ड्राइव और शीट के साथ एकीकरण का प्रदर्शन करने वाला एक आधिकारिक उदाहरण नोटबुक यहां उपलब्ध है: https://colab.research.google.com/notebooks/io.ipynb

फ़ाइलों को साझा करने का सबसे सरल तरीका यह है कि आप अपने Google ड्राइव को माउंट करें।

ऐसा करने के लिए, निम्नलिखित को एक कोड सेल में चलाएं:

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

यह आपको अपनी ड्राइव तक पहुंचने के लिए ALLOW "Google फ़ाइलें स्ट्रीम" के लिंक पर जाने के लिए कहेगा। उसके बाद एक लंबा अल्फ़ान्यूमेरिक कोर कोड दिखाया जाएगा जिसे आपके कोलाब की नोटबुक में दर्ज करने की आवश्यकता है।

बाद में, आपकी ड्राइव फ़ाइलें माउंट हो जाएंगी और आप उन्हें साइड पैनल में फ़ाइल ब्राउज़र के साथ ब्राउज़ कर सकते हैं।

यहाँ छवि विवरण दर्ज करें

यहाँ एक पूर्ण उदाहरण नोटबुक है


3
एक शीट उदाहरण अब एक बंडल किए गए उदाहरण नोटबुक में शामिल है जिसमें ड्राइव और Google क्लाउड स्टोरेज के लिए व्यंजनों को भी शामिल किया गया है: colab.research.google.com/notebook#fileId=/v2/external/…
बॉब स्मिथ

9
क्या मैं अपने ड्राइव में एक विशिष्ट फ़ोल्डर आयात कर सकता हूं? मैं इस कोलाब को किसी और के साथ साझा कर रहा हूं, और मैं अपनी सभी Google ड्राइव तक पहुंच नहीं देना चाहता जिसमें संवेदनशील जानकारी शामिल है
पीला 01

4
यदि आप नोटबुक साझा करते हैं तो आपकी ड्राइव की फ़ाइलें साझा नहीं की जाएंगी। उपयोगकर्ता को अभी भी अपने स्वयं के ड्राइव को माउंट करने की आवश्यकता होगी, जो अलग है। यदि आवश्यक हो, तो आप उस उपयोगकर्ता के साथ फ़ाइलें साझा कर सकते हैं, लेकिन यह सब सामान्य ड्राइव ACL द्वारा नियंत्रित किया जाता है। Colab नोटबुक साझा करना केवल नोटबुक को साझा करता है, न कि ड्राइव फ़ाइलों को उस नोटबुक में संदर्भित करता है।
बॉब स्मिथ

मेरा माउंट सफल है लेकिन मैं फाइलों के नीचे बाईं ओर की फाइलों को सूचीबद्ध नहीं देख सकता। कोई सुझाव?
स्वप्निल बी।

3
घुड़सवार Google ड्राइव में डेटा पर प्रशिक्षित न करें। पहले डेटा को स्थानीय ड्राइव पर कॉपी करें और फिर उस पर प्रशिक्षित करें। यह लगभग 10 गुना तेज होगा। तेजी से प्रतिलिपि के लिए, सुनिश्चित करें कि डेटा फ़ाइल बड़े अभिलेखागार या कई छोटे हैं। उदाहरण के लिए: - 100000 छवि फ़ाइलों का उपयोग न करें। प्रत्येक 1000 छवियों के 100 अभिलेखागार का उपयोग करें। इस तरह से Google ड्राइव पर अपलोड करना और भी तेज़ हो गया है और इसलिए Google ड्राइव से कोलाब पर कॉपी करना है
saurabheights

47

डालना

from google.colab import files
files.upload()

डाउनलोड

files.download('filename')

सूची निर्देशिका

files.os.listdir()

6
क्या अपलोड की गई फ़ाइलें उपयोगकर्ता की Google ड्राइव या सर्वर पर संग्रहीत हैं जिनसे नोटबुक कनेक्ट है?
रॉड्रिकइडर

1
क्या ये फाइलें अल्पकालिक नहीं हैं?
एक्यूमेनस

अपलोड के लिए कोई तर्क?
23:25 बजे user25004

यह उत्तर सबसे ऊपर होना चाहिए। सवाल डेटा आयात करने के बारे में है, बढ़ते Google ड्राइव पर नहीं।
फर्नांडो विटमैन

18

अपने 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 ड्राइव में फ़ाइल ढूंढें और राइट क्लिक करें। 'साझा करने योग्य लिंक' पर क्लिक करें। आपको एक विंडो मिलेगी:

    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)

1
यह इंगित करने योग्य है कि यूपीएलओ ट्रेडिंग सुझाव, इसके माध्यम से google.colab.files.upload()न तो फ़ायरफ़ॉक्स और न ही सफारी, क्रोम पर ही काम करता है। यहां
5agado

15

चरण 1- अपने Google ड्राइव को सहयोगी के लिए माउंट करें

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

स्टेप 2- अब आपको लेफ्ट पेन (फाइल एक्स्प्लोरर) में आपकी गूगल ड्राइव फाइल्स दिखाई देंगी। उस फ़ाइल पर राइट क्लिक करें जिसे आपको आयात करना है और çopy पथ का चयन करना है। फिर इस कॉपी किए गए पथ का उपयोग करके हमेशा की तरह पांडा में आयात करें।

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

किया हुआ!


स्पष्टता और संक्षिप्तता पर जीता है और समान प्रभावशीलता है। मैं ऐसा करने के लिए बहुत अधिक शामिल तरीकों से कोई लाभ नहीं देखता हूं।
एलूरोच

7

मैंने जो सबसे सरल तरीका बनाया है वह है:

  1. अपने डेटासेट के साथ github पर भंडार बनाएं
  2. के साथ अपने भंडार क्लोन! git क्लोन - संक्षिप्त [GITHUB लिंक REPO]
  3. पता लगाएं कि आपका डेटा कहां है (एलएस कमांड)
  4. पंडों के साथ फ़ाइल खोलें जैसा कि आप सामान्य ज्यूपिटर नोटबुक में करते हैं।

नमस्ते, इस गैपस्माइंडर के साथ = pd.read_csv ("डेटा-एनालिसिस / पेयरप्लॉट्स / डेटा / गैपमाइंडर_डेटा.एकएसवी") मुझे केवल "संस्करण https: // .." मिल रहा है। केवल 2 ऑब्जर्वेटन के साथ वेरिएबल
मुकुल शर्मा

2
यह समाधान बाहर काम नहीं करेगा अगर एक भी फ़ाइल का आकार जीथब अनुमत अनुमति से अधिक है जो कि यदि 20 एमबी i मुक्त संस्करण में लगता है।
अक्षय सूम

7

यह आपको Google डिस्क के माध्यम से अपनी फ़ाइलों को अपलोड करने की अनुमति देता है।

नीचे दिए गए कोड को चलाएं (यह कहीं पहले पाया गया था लेकिन मुझे फिर से स्रोत नहीं मिल सकता है - जिसने भी इसे लिखा है!)।

!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 ड्राइव पर पहुंचने की अनुमति मांगेगा।

फिर, इसे चलाएं जो 'ड्राइव' नामक एक निर्देशिका बनाता है, और आपकी Google ड्राइव को इससे लिंक करता है:

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

यदि आप !lsअभी करते हैं, तो एक निर्देशिका ड्राइव होगी, और यदि आप करते हैं तो आप !ls driveअपने Google ड्राइव की सभी सामग्री देख सकते हैं।

उदाहरण के लिए, अगर मैं अपनी फ़ाइल को अपने Google ड्राइव में abc.txtबुलाए ColabNotebooksगए फ़ोल्डर में सहेजता हूं, तो अब मैं इसे एक पथ के माध्यम से एक्सेस कर सकता हूंdrive/ColabNotebooks/abc.txt



5

किसी भी सहयोगी के बाईं पट्टी पर "फ़ाइलें" नामक एक अनुभाग है। अपनी फ़ाइलें वहां अपलोड करें और इस पथ का उपयोग करें

"/content/YourFileName.extension"

उदाहरण के लिए: pd.read_csv('/content/Forbes2015.csv');


2
सुनिश्चित करें कि आपने सीधे रूट निर्देशिका में अपलोड किया है और 'नमूना_डेटा' निर्देशिका में नहीं। इसके अलावा, आप "सामग्री" को हटा सकते हैं और सिर्फ फ़ाइल नाम लिख सकते हैं जैसे:pd.read_csv('Forbes2015.csv');
विवेक सोलंकी

यदि फिर भी काम नहीं करता है, तो क्या आप मुझे त्रुटि संदेश बता सकते हैं?
विवेक सोलंकी

@flashliquid आवश्यक नहीं है। यह without / ’के बिना भी काम करता है। आप इसे कोलाब पर टेस्ट कर सकते हैं।
विवेक सोलंकी 21

3

अब तक का सबसे सरल समाधान जो कि छोटे से मध्यम आकार की CSV फ़ाइलों के लिए पूरी तरह से काम करता है:

  1. Gist.github.com पर एक गुप्त सूची बनाएं और अपनी फ़ाइल की सामग्री को अपलोड (या कॉपी-पेस्ट करें) करें।
  2. कच्चे दृश्य पर क्लिक करें और कच्चे फ़ाइल URL को कॉपी करें।
  3. जब आप कॉल करते हैं तो फ़ाइल के पते के रूप में कॉपी किए गए URL का उपयोग करें pandas.read_csv(URL)

यह लाइन या बाइनरी फ़ाइलों द्वारा पाठ फ़ाइल लाइन पढ़ने के लिए काम कर सकता है या नहीं भी हो सकता है।


1
यह ध्यान रखना महत्वपूर्ण है कि जबकि गुप्त रखने वालों को यह पता लगाना मुश्किल है कि वे निजी नहीं हैं , इसलिए इस दृष्टिकोण का उपयोग करने वाले किसी को भी सावधान रहना चाहिए।
ग्रे

2

ड्रॉपबॉक्स से त्वरित और आसान आयात:

!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

उन लोगों के लिए, जो मेरी तरह, "अपलोड फ़ाइल कोलाब" कीवर्ड के लिए Google से आए थे:

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

1

आप https://github.com/ruelj2/Google_drive पर google.colab और PyDrive पर मेरे कार्यान्वयन का भी उपयोग कर सकते हैं जो इसे बहुत आसान बनाता है।

!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 डिस्क निर्देशिका में सभी फ़ाइलों को लोड करना चाहते हैं, तो बस

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

या सिर्फ एक विशिष्ट फ़ाइल के साथ

Gd.load_file(local_dir, file_ID)

इस स्थिति में "drive_dir_ID" क्या है?
पारसल्लोंग्यू

जैसा कि git रेपो में बताया गया है, drive_dir_ID अनुरोधित निर्देशिका की संगत Google ड्राइव आईडी है। अधिक जानकारी के लिए, कृपया github.com/ruelj2/Google_drive देखें । उपयोग की स्पष्ट छूट भी है।
जीन-क्रिस्टोफ़

1

जैसा कि @Vivek Solanki ने उल्लेख किया है, मैंने "फ़ाइल" अनुभाग के तहत अपनी फ़ाइल को कोलैबोरेटरी डैशबोर्ड पर भी अपलोड किया है। बस ध्यान दें कि फ़ाइल कहाँ अपलोड की गई है। मेरे लिए, train_data = pd.read_csv('/fileName.csv')काम किया।


1

google colabs में अगर यह आपका पहली बार है,

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

इन कोड्स को चलाएं और आउटपुटलिंक के माध्यम से जाएं और फिर पास-प्रेज को बॉक्स में पेस्ट करें

जब आप कॉपी करते हैं तो आप निम्न प्रकार से कॉपी कर सकते हैं, फ़ाइल राइट क्लिक करें और पथ कॉपी करें *** "/ सामग्री" को हटाने के लिए मत भूलना

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

1
  1. आप निम्न चलाकर Google ड्राइव पर माउंट कर सकते हैं

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

  2. बाद में प्रशिक्षण के लिए डेटा को gdrive से कोलाब रूट फ़ोल्डर में कॉपी करें।

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

जहाँ पहला रास्ता gdrive पथ है और दूसरा कोलाब रूट फ़ोल्डर है।

इस तरह से प्रशिक्षण बड़े डेटा के लिए तेज़ है।


0

इसे हल कर दिया गया है, यहां विवरण प्राप्त करें और नीचे दिए गए फ़ंक्शन का उपयोग करें: /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

यहां Google ड्राइव से नोटबुक में फ़ाइलों को आयात करने का एक तरीका है।

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 ड्राइव में फ़ाइलें आयात करना (उदा: Colab_Notebooks / db.csv)

Colab_Notebooks फ़ोल्डर में अपने डेटासेट फ़ाइल को कहने देता है और इसका नाम db.csv है

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

मुझे उम्मीद है यह मदद करेगा


0

अगर आप इसे बिना कोड के करना चाहते हैं तो यह बहुत आसान है। अपने फ़ोल्डर को मेरे मामले में ज़िप करें

dataset.zip

फिर Colab में उस फोल्डर पर राइट क्लिक करें जहाँ आप इस फाइल को रखना चाहते हैं और इस ज़िप फाइल को अपलोड करें और अपलोड करें दबाएं। इसके बाद इस लिनक्स कमांड को लिखें।

!unzip <your_zip_file_name>

आप देख सकते हैं कि आपका डेटा सफलतापूर्वक अपलोड किया गया है।


0

यदि डेटा-सेट का आकार 25mb से कम है, तो CSV फ़ाइल अपलोड करने का सबसे आसान तरीका आपकी GitHub रिपॉजिटरी है।

  1. रिपॉजिटरी में डेटा सेट पर क्लिक करें
  2. View Raw बटन पर क्लिक करें
  3. लिंक को कॉपी करें और इसे एक चर में संग्रहीत करें
  4. डेटाफ़्रेम प्राप्त करने के लिए चर को पंडों read_csv में लोड करें

उदाहरण:

import pandas as pd
url = 'copied_raw_data_link'
df1 = pd.read_csv(url)
df1.head()
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.