将私人数据导入谷歌协作笔记本的常用方法是什么?是否可以导入一个非公开的谷歌表?不能从系统文件中读取。介绍性文档链接到使用BigQuery的指南,但这似乎有点…多。


当前回答

你也可以在谷歌上使用我的实现。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()  

然后,如果你想加载谷歌驱动器目录中的所有文件,只需

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

或者只是一个特定的文件

Gd.load_file(local_dir, file_ID)

其他回答

已解决,请在这里找到详细信息,并使用下面的功能: https://stackoverflow.com/questions/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!')

如果数据集大小小于25mb,最简单的方法是从你的GitHub存储库上传CSV文件。

单击存储库中的数据集 点击“查看原始”按钮 复制链接并将其存储在一个变量中 将变量加载到Pandas read_csv中以获得数据帧

例子:

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

这允许您通过谷歌驱动器上传您的文件。

运行下面的代码(之前在某个地方找到了这个,但我再也找不到源代码了——归功于写它的人!):

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

点击出现的第一个链接,它会提示你登录谷歌;之后,另一个将出现,将要求访问您的谷歌驱动器的权限。

然后,运行这个,创建一个名为“drive”的目录,并将您的谷歌drive链接到它:

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

如果您现在执行!ls,将会有一个目录驱动器,如果您执行!ls驱动器,您可以看到谷歌驱动器的所有内容。

例如,如果我将我的文件abc.txt保存在我的谷歌驱动器的一个名为ColabNotebooks的文件夹中,我现在可以通过路径驱动器/ColabNotebooks/abc.txt访问它

您可以通过运行以下命令挂载到谷歌驱动器 从谷歌。Colab导入驱动器 drive.mount(/内容/驱动器) 训练后复制数据从gdrive到colab根文件夹。

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

其中第一个路径是gdrive路径,第二个是colab根文件夹。

这种方法对于大数据的训练速度更快。

在任何协作的左侧栏上都有一个称为“文件”的部分。 在那里上传文件并使用此路径

"/content/YourFileName.extension"

ex: pd read_csv(“/内容/ Forbes2015。csv”);