如何在 Google Colab 中读取 csv 到数据框

Posted

技术标签:

【中文标题】如何在 Google Colab 中读取 csv 到数据框【英文标题】:How to read csv to dataframe in Google Colab 【发布时间】:2018-06-28 15:35:47 【问题描述】:

我正在尝试读取我本地存储在我的机器上的 csv 文件。 (仅供参考,它是来自 Kaggle 的泰坦尼克号数据,here。)

从this question and answers 我了解到您可以使用此代码导入数据,这对我来说效果很好。

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

我迷路的是如何从这里将其转换为数据帧。上面答案中列出的sample google notebook page 没有谈论它。

我正在尝试使用 from_dict 命令将字典 uploaded 转换为数据框,但无法使其工作。有一些关于将 dict 转换为数据框here 的讨论,但解决方案不适用于我(我认为)。

总结一下,我的问题是:

如何将本地存储在我的文件中的 csv 文件转换为 pandas Google Colaboratory 上的数据框?

【问题讨论】:

嘿,看看我的答案,使用 gspread ***.com/a/49397059/9017976 【参考方案1】:

第 1 步 - 将您的 Google Drive 安装到 Collaboratory

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

第 2 步 - 现在您将在左侧窗格(文件资源管理器)中看到您的 Google Drive 文件。右键单击需要导入的文件并选择 çopy 路径。然后像往常一样在 pandas 中导入,使用这个复制的路径。

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

完成!

【讨论】:

这对我来说非常有效。简单的代码 sn-p 等等。【参考方案2】:

熊猫read_csv 应该可以解决问题。您需要将上传的字节包装在 io.StringIO 中,因为 read_csv 需要一个类似文件的对象。

这是一个完整的例子: https://colab.research.google.com/notebook#fileId=1JmwtF5OmSghC-y3-BkvxLan0zYXqCJJf

关键的sn-p是:

import pandas as pd
import io

df = pd.read_csv(io.StringIO(uploaded['train.csv'].decode('utf-8')))
df

【讨论】:

谢谢。 @Bob Smith 我已经使用了您的解决方案,它可以工作。你能提供我如何使用已经在谷歌驱动器中的 csv 文件吗? Mount your Google Drive 然后从那里读取,例如,/content/gdrive/My\ Drive/train.csv 只是对 Bob 3 年前出色评论的一个小补充:现在应该是 /content/drive/My\ Drive/trains.csv,例如从 gdrive 中删除 g。【参考方案3】:

Colab google:从您的 PC 上传 csv 我在使用 excel 文件 (*.xlsx) 时遇到了同样的问题,我解决了以下问题,我认为您可以对 csv 文件执行相同的操作: - 如果您的 PC 驱动器中有一个名为 (file.xlsx) 的文件,则: 1- 使用以下简单代码从硬盘上传:

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

按下(选择文件)并将其上传到您的谷歌驱动器。

2- 那么:

import io
data = io.BytesIO(uploaded['file.XLSX'])    

3- 最后,阅读您的文件:

import pandas as pd   
f = pd.read_excel(data , sheet_name = '1min', header = 0, skiprows = 2)
#df.sheet_names
df.head()

4- 请更改参数值以读取您自己的文件。我认为这可以推广到读取其他类型的文件! 尽情享受吧!

【讨论】:

【参考方案4】:

这对我有用:

from google.colab import auth
auth.authenticate_user()

from pydrive.drive import GoogleDrive
from pydrive.auth import GoogleAuth
from oauth2client.client import GoogleCredentials
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

myfile = drive.CreateFile('id': '!!!YOUR FILE ID!!!')
myfile.GetContentFile('file.csv')

!!!YOUR FILE ID!!! 替换为谷歌驱动器中文件的ID(这是单击“获取共享链接”时出现的长字母数字字符串)。然后就可以使用 pandas 的 read_csv 访问 file.csv:

import pandas as pd
frm = pd.read_csv('file.csv', header=None)

【讨论】:

【参考方案5】:

所以,如果你不是在 google colab 上工作,你会简单地写这样的东西:

df = pd.read_csv('path_of_the_csv_file')

在 google colab 中,您只需要知道 csv 文件的路径。

如果您按照我在下面写的步骤进行操作,您的问题将得到解决:

    首先,将 CSV 文件上传到您的 Google 驱动器上。 然后,打开您的 google colab 笔记本并单击左侧的“文件”图标 页面的一侧。 然后,单击“Google Drive 文件夹”图标以安装您的 Google Drive。 然后,查找您上传到 Google 驱动器上的 csv 文件(步骤 1), 并复制其路径。 获得路径后,将其视为普通路径并在代码中使用。 它应该看起来像这样:
   df = pd.read_csv('/content/drive/MyDrive/File.csv')

【讨论】:

【参考方案6】:

或者,您也可以使用 github 导入文件。 你可以以此为例:https://drive.google.com/file/d/1D6ViUx8_ledfBqcxHCrFPcqBvNZitwCs/view?usp=sharing

此外,google 不会将文件保存更长时间,因此您可能必须一次又一次地运行 github sn-ps。

【讨论】:

【参考方案7】:

这对我有用:

import pandas as pd
import io

df=pd.read_csv(io.StringIO(uploaded['Filename.CSV'].decode('ISO-8859-1')))
df

【讨论】:

以上是关于如何在 Google Colab 中读取 csv 到数据框的主要内容,如果未能解决你的问题,请参考以下文章

如何在谷歌 colab 中读取图像数据集以进行深度学习?

在 Google colab 中解码 .xlsx 时遇到问题

如何从 google colab 的压缩文件夹中读取/导入训练和测试图像以进行多分类? gdrive 已安装到 gcolab

如何在 Google Colab 中使用 Pyomo 解决抽象模型

从Google Colab中的驱动器读取文件

从 Google Drive 读取图像时,Google Colab 太慢了