将私人数据导入谷歌协作笔记本的常用方法是什么?是否可以导入一个非公开的谷歌表?不能从系统文件中读取。介绍性文档链接到使用BigQuery的指南,但这似乎有点…多。
当前回答
我创建了一小段代码,可以以多种方式实现这一点。你可以
使用已经上传的文件(在重新启动内核时很有用) 使用来自Github的文件 手动上传文件
import os.path
filename = "your_file_name.csv"
if os.path.isfile(filename):
print("File already exists. Will reuse the same ...")
else:
use_github_data = False # Set this to True if you want to download from Github
if use_github_data:
print("Loading fie from Github ...")
# Change the link below to the file on the repo
filename = "https://github.com/ngupta23/repo_name/blob/master/your_file_name.csv"
else:
print("Please upload your file to Colab ...")
from google.colab import files
uploaded = files.upload()
其他回答
步骤1-挂载您的谷歌驱动器到协作实验室
from google.colab import drive
drive.mount('/content/gdrive')
第2步-现在你会看到你的谷歌驱动器文件在左侧窗格(文件资源管理器)。右键单击需要导入的文件并选择çopy路径。 然后像往常一样在pandas中导入,使用这个复制的路径。
import pandas as pd
df=pd.read_csv('gdrive/My Drive/data.csv')
完成了!
Dropbox的另一种简单方法是:
把你的数据放到dropbox里
复制文件的文件共享链接
那就去合作吧。
例如: ! wget - O文件名文件链接(如- https://www.dropbox.com/.....)
做完了。数据将开始出现在您的colab内容文件夹中。
这允许您通过谷歌驱动器上传您的文件。
运行下面的代码(之前在某个地方找到了这个,但我再也找不到源代码了——归功于写它的人!):
!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访问它
最简单的方法是:
用你的数据集在github上制作存储库 克隆您的存储库![GITHUB LINK REPO] 查找数据的位置(!ls命令) 用熊猫打开文件,就像用普通的jupyter笔记本一样。
简单的方法从你的googledrive导入数据-这样做节省了人们的时间(不知道为什么谷歌只是没有明确地列出这一步)。
安装并验证pydrive
!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中,您可以跳过这一步。
现在它在你的谷歌硬盘里。在谷歌驱动器中找到该文件,然后右键单击。点击获取“可共享链接”。你会得到一个窗口,上面有:
https://drive.google.com/open?id=29PGh8XCts3mlMP6zRphvnIcbv27boawn
Copy - ' 29pgh8xcts3mlmp6zrphvnicbv27bown ' -这是文件ID。
在你的笔记本上:
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)