42

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

这个问题和答案中,我了解到您可以使用此代码导入数据,这对我来说效果很好。

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

我迷路的地方是如何从这里将其转换为数据框。上面答案中列出的示例谷歌笔记本页面没有谈论它。

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

总结一下,我的问题是:

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

4

7 回答 7

61

第 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')

完毕!

于 2018-11-13T14:08:22.497 回答
48

熊猫read_csv应该做的伎俩。您需要将上传的字节包装在一个io.StringIO因为read_csv需要一个类似文件的对象中。

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

关键片段是:

import pandas as pd
import io

df = pd.read_csv(io.StringIO(uploaded['train.csv'].decode('utf-8')))
df
于 2018-01-19T16:34:59.383 回答
10

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- 请更改参数值以读取您自己的文件。我认为这可以推广到读取其他类型的文件!
好好享受!

于 2018-03-22T17:51:47.837 回答
5

这对我有用:

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!!!为 google drive 中文件的 ID(这是单击“获取共享链接”时出现的长字母数字字符串)。然后您可以使用 pandas 的 read_csv 访问 file.csv:

import pandas as pd
frm = pd.read_csv('file.csv', header=None)
于 2018-05-31T20:43:57.847 回答
2

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

df = pd.read_csv('path_of_the_csv_file')

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

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

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

这对我有用:

import pandas as pd
import io

df=pd.read_csv(io.StringIO(uploaded['Filename.CSV'].decode('ISO-8859-1')))
df
于 2022-02-21T14:57:03.920 回答
0

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

此外,谷歌不会将文件保存更长时间,因此您可能必须一次又一次地运行 github 片段。

于 2018-02-13T08:21:25.343 回答