我想知道是否有可能将本地数据文件(例如储存在我的谷歌云端硬盘上的.xlsx或.csv文件)加载到Colaboratory中?
我想知道是否有可能将本地数据文件(例如储存在我的谷歌云端硬盘上的.xlsx或.csv文件)加载到Colaboratory中?
起初我对于加载本地文件的示例有一些困惑,因为没有地方指定文件路径。你只需要复制并粘贴说明文档,就可以搞清楚了。但是为了明确起见:
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']
访问该文件。
uploaded
访问,它是一个 Python 字典。例如,如果您选择了一个名为 'test.txt' 的文件,则 uploaded['test.txt']
将给您 Python 对象。您可以使用 type
查看您已上传的字符串。只需打印 uploaded.keys()
就可以显示所有文件名。 - elz首先,执行此代码块将创建一个内联的“选择文件”按钮。
from google.colab import files
uploaded = files.upload()
选择文件后,uploaded
将是一个键(文件名)和值(编码文件对象)的字典。要为 Pandas 等图书馆解码文件,请尝试:
选择好文件后,uploaded
就是一个字典,其中包含了每个文件的名称作为键以及编码后的文件对象作为对应的值。如果需要将这些文件解码并使用如 Pandas 等图书馆进行分析,可以尝试以下方法:
import pandas as pd
import io
df = pd.read_csv(io.StringIO(uploaded['filename.csv'].decode('utf-8')))
接下来您的数据框 df
应该已经准备好使用了。
KeyError:'/path/to/my_file.csv'
。 - Belkacem Thiziri将本地数据文件加载到Colab:
方法1:Google Drive 方法
在Colab中挂载Google Drive
from google.colab import drive
drive.mount('/content/gdrive')
然后-> path = "/gdrive/My Drive/filename"
现在您可以在Google Colab中访问Google Drive文件。
方法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()
第三种方法:使用导入文件
from google.colab import files
uploaded = files.upload()
这是一个2步骤的过程。
第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)
以下是一种上传更多文件的替代方法,适用于那些喜欢使用其他方式上传文件的人 - 它基本上允许您通过Google Drive上传文件。
运行下面的代码(我之前在某个地方找到过这个代码,但现在找不到来源了 - 感谢撰写此代码的人!):
!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。
然后运行以下命令,将创建一个名为“drive”的目录,并将其连接到您的Google Drive:
!mkdir -p drive
!google-drive-ocamlfuse drive
!ls
命令,你会看到一个名为drive
的目录,如果执行!ls drive
命令,你可以查看你的Google Drive中所有的内容。abc.txt
的文件保存在名为ColabNotebooks
的文件夹中,我现在可以通过路径drive/ColabNotebooks/abc.txt
访问它。from google.colab import files
uploaded = files.upload()
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()
假设您的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}
!mkdir -p drive
!google-drive-ocamlfuse drive
https://colab.research.google.com/notebooks/io.ipynb#scrollTo=vz-jH8T_Uk2c
前往本地文件系统>下载文件到您的本地文件系统
,然后运行代码。之后,浏览器按钮会出现,供您从计算机上传文件。