如何在 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 到数据框的主要内容,如果未能解决你的问题,请参考以下文章
在 Google colab 中解码 .xlsx 时遇到问题
如何从 google colab 的压缩文件夹中读取/导入训练和测试图像以进行多分类? gdrive 已安装到 gcolab