Pydrive无法打开.csv文件:没有在元数据中找到的mimetype的downloadLink / exportLinks

时间:2018-03-01 20:05:21

标签: google-drive-api google-colaboratory pydrive

我刚刚开始使用Google Colab,它看起来很有前途(免费GPU是的,请!),但我甚至无法从我的驱动器导入数据。我按照教程使用Pydrive但仍然收到错误

FileNotDownloadableError:没有在元数据中找到的mimetype的downloadLink / exportLinks

尝试运行以下代码时

import numpy as np 
import scipy.misc # to visualize only  
import pandas as pd
from pydrive.auth import GoogleAuth
from pydrive.drive import GoogleDrive
from google.colab import auth
from oauth2client.client import GoogleCredentials

# 1. Authenticate and create the PyDrive client.
auth.authenticate_user()
gauth = GoogleAuth()
gauth.credentials = GoogleCredentials.get_application_default()
drive = GoogleDrive(gauth)

#2. Get the file
downloaded = drive.CreateFile({'id':'1SinPTGxX_MbXWTrB5vcmfXKttRZnDfYa'}) # replace the id with id of file you want to access

downloaded.GetContentFile("train_x.csv",  mimetype=None)
downloaded.GetContentFile("train_y.csv",  mimetype=None)

x = np.loadtxt('train_x.csv', delimiter=",")
y = np.loadtxt('train_y.csv', delimiter=",")

print(x.shape)
print(y.shape)

之前有similar question问过,但我不明白他们是如何解决这个问题的(我认为它只是设置mimetype = None但是没有用,也没有将它设置为mimetype =' text / csv')。

我也尝试从谷歌电子表格中导入数据,但由于数据集非常大(2GB),当我尝试将其转换为电子表格时,它一直给我一个错误。

我的最后一个选择是在Github或其他东西上托管它,但我仍然想知道它为什么不起作用。谢谢!

1 个答案:

答案 0 :(得分:0)

确保获得原始文件的文件ID。不能在Google云端硬盘中打开的文件(请更改此格式)。 可以通过假装共享文件来获取ID。然后,您将获得诸如https://drive.google.com/file/d/1HbEfAPN7nQVCXbvspwWayOSU7oPr/view?usp=sharing之类的链接。在“ d /”和“ / view?”之间复制奇怪的长字符串。 这样,您的代码就可以工作了。