在谷歌colab中读取csv到dataframe

时间:2018-01-19 11:43:24

标签: python csv dataframe google-colaboratory

我正在尝试读取我在本机上存储的csv文件。 (仅供参考,它是来自Kaggle的巨大数据,here。)

this问题和答案我了解到您可以使用此代码导入数据,这对我很有用。

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

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

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

总结一下,我的问题是:

How do I convert a csv file stored locally on my files to pandas 
datframe on google-colaboratory?

6 个答案:

答案 0 :(得分:27)

Pandas 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

答案 1 :(得分:9)

步骤1-将Google云端硬盘安装到协作实验室

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

第2步-现在,您将在左窗格(文件浏览器)中看到您的Google云端硬盘文件。右键单击您需要导入的文件,然后选择çopypath。然后使用此复制路径照常导入熊猫。

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

完成!

答案 2 :(得分: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!!!替换为google驱动器中文件的ID(这是您点击“获取要分享的链接”时显示的长字母数字字符串)。然后你可以使用pandas的read_csv:

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

答案 3 :(得分:3)

Colab google:从您的电脑上传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 :(得分:0)

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

Google也不会将文件保留更长时间,因此您可能需要一次又一次地运行github片段。

答案 5 :(得分:0)

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

df = pd.read_csv('path_of_the_csv_file')

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

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

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