Python,pandas.read_csv在大型csv文件中,包含来自Google云端硬盘文件的1000万行

时间:2018-04-04 00:34:36

标签: python pandas csv google-drive-api google-bigquery

我从Google Bigquery中提取了一个包含2列和1000万行的.csv文件。

我已经将文件作为大小为170Mb的.csv在本地下载,然后我将文件上传到Google云端硬盘,我想使用pandas.read_csv()函数将其读入我的Jupyter笔记本中的pandas DataFrame。

这是我使用的代码,我想要读取特定的fileID。

# read into pandasDF from .csv stored on Google Drive.
follow_network_df = pd.read_csv("https://drive.google.com/uc?export=download&id=1WqHWdgMVLPKVbFzIIprBBhe3I9faq4HA")

然后我得到的是: enter image description here

似乎170Mb的csv文件被读作html链接?

当我用另一个40Mb的csv文件尝试相同的代码时,它完美地运行了

# another csv file of 40Mb.
user_behavior_df = pd.read_csv("https://drive.google.com/uc?export=download&id=1NT3HZmrrbgUVBz5o6z_JwW5A5vRXOgJo")

enter image description here

任何人都可以给我一些关于差异根本原因的暗示吗? 关于如何从在线存储中读取1000万行和170Mb的csv文件的任何想法?我知道只需使用BigQuery接口或本地机器就可以将10万行读入pandasDF,但我必须将其作为我提交内容的一部分,因此我只能从在线源读取。

1 个答案:

答案 0 :(得分:3)

问题是您的第一个文件太大,Google Drive无法扫描病毒,因此会显示一个用户提示而不是实际文件。如果您访问第一个文件的链接,则可以看到此信息。

我要点击用户提示,并使用以下网址pd.read_csv