我只是想知道是否可以将本地数据文件(例如我的google驱动器上的.xlsx或.csv文件)加载到Colaboratory中?
答案 0 :(得分:22)
我对第一眼加载本地文件的示例感到有点困惑,因为没有地方指定文件路径。您需要做的就是复制并粘贴recipe来解决这个问题,但要明确:
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])))
会显示访问您刚刚上传的内容的密钥。
编辑以获得更多说明:字典uploaded
将包含所选文件名的键 - 因此,例如,如果选择文件my_test.txt
,则可以使用uploaded['my_test.txt']
访问该文件。
答案 1 :(得分:10)
首先,执行此单元格应该创建内联"选择文件"按钮
from google.colab import files
uploaded = files.upload()
选择文件后,uploaded
将成为密钥(文件名)和值(编码文件对象)的字典。要解码Pandas等库的文件,请尝试
import pandas as pd
import io
df = pd.read_csv(io.StringIO(uploaded['filename.csv'].decode('utf-8')))
在此之后,您的数据框df
应准备就绪
答案 2 :(得分:5)
是的,支持所有这些方案。
有关访问本地和云端硬盘文件的配方,请查看I/O example notebook。
要访问xls
个文件,您需要将文件上传到Google表格。然后,您可以在同一I/O example notebook中使用gspread
食谱。
最近添加的上传本地文件的方法是使用右侧抽屉中的“文件”标签。
从那里,您可以使用“上传”按钮上传本地文件。
(您也可以通过在文件树中右键单击文件来下载文件。)
答案 3 :(得分:4)
将其作为替代方案,以便其他人更喜欢以其他方式上传更多文件 - 这基本上允许您通过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云端硬盘的权限。
然后,运行此操作,创建名为“drive”的目录,并将Google云端硬盘链接到该目录:
!mkdir -p drive
!google-drive-ocamlfuse drive
如果您现在!ls
,则会有一个目录drive
,如果您执行!ls drive
,则可以看到Google云端硬盘的所有内容。
例如,如果我将名为abc.txt
的文件保存在我的Google云端硬盘中名为ColabNotebooks
的文件夹中,我现在可以通过路径drive/ColabNotebooks/abc.txt
答案 4 :(得分:0)
说,您的Google云端硬盘上有一个名为Colab
的文件夹,其中有一个csv
文件。
要加载此文件
import pandas as pd
titanic = pd.read_csv(“drive/Colab/Titanic.csv”)
titanic.head(5)
在此之前,您可能需要运行以下命令:
首先运行这些代码,以便安装必要的库并执行授权。
!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
答案 5 :(得分:0)
这是一个两步过程。
第1步:首先在colab笔记本中使用以下代码调用文件选择器
from google.colab import files
uploaded = files.upload()
这将带您进入文件浏览器窗口
第2步:要将文件的内容加载到Pandas数据框中,请使用以下代码
import pandas as pd
import io
df = pd.read_csv(io.StringIO(uploaded['iris.csv'].decode('utf-8')))
print(df)
答案 6 :(得分:0)
要从系统获取数据以进行协作,请尝试以下操作:
from google.colab import files
uploaded = files.upload()
选择要上传的文件,然后按Enter键并完成。 例如,我上传了一张图片,并使用以下代码显示了该图片:
import cv2
import numpy as np
from matplotlib import pyplot as plt
img = cv2.imread('image.jpg')
img_cvt = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
plt.imshow(img_cvt)
plt.show()
答案 7 :(得分:0)
要将本地数据文件加载到Colab:
方法1:Google云端硬盘方法
在Colab中安装Google驱动器
from google.colab import drive
drive.mount('/content/gdrive')
然后-> path = "/gdrive/My Drive/filename"
您现在可以在Google Colab中访问Google驱动器文件。
方法2:直接加载
from google.colab import files
def getLocalFiles():
_files = files.upload()
if len(_files) >0:
for k,v in _files.items():
open(k,'wb').write(v)
getLocalFiles()
方法3:使用导入文件
from google.colab import files
uploaded = files.upload()
答案 8 :(得分:0)
您可以使用此URL在Google Colab中上传文件:
https://colab.research.google.com/notebooks/io.ipynb#scrollTo=vz-jH8T_Uk2c
转到Local file system>Downloading files to your local file system
然后运行代码。之后,将出现浏览器按钮,供您从PC上传文件。