将Google电子表格的CSV导入Pandas数据框架

10 浏览
0 Comments

将Google电子表格的CSV导入Pandas数据框架

我将一个文件上传到了Google电子表格(为了创建一个公开可访问的示例IPython笔记本,带有数据),我使用该文件的原始格式可以读取到Pandas Dataframe中。所以现在我使用以下代码来读取电子表格,可以正常工作,但是只能作为字符串传入,我尝试将其转回到Dataframe中没有成功(可以获取数据)

import requests
r = requests.get('https://docs.google.com/spreadsheet/ccc?key=0Ak1ecr7i0wotdGJmTURJRnZLYlV3M2daNTRubTdwTXc&output=csv')
data = r.content

数据最终看起来像这样:(第一行是表头)

',City,region,Res_Comm,mkt_type,Quradate,National_exp,Alabama_exp,Sales_exp,Inventory_exp,Price_exp,Credit_exp\n0,Dothan,South_Central-Montgomery-Auburn-Wiregrass-Dothan,Residential,Rural,1/15/2010,2,2,3,2,3,3\n10,Foley,South_Mobile-Baldwin,Residential,Suburban_Urban,1/15/2010,4,4,4,4,4,3\n12,Birmingham,North_Central-Birmingham-Tuscaloosa-Anniston,Commercial,Suburban_Urban,1/15/2010,2,2,3,2,2,3\n

将磁盘中的文件导入的原始Pandas代码如下:

df = pd.io.parsers.read_csv('/home/tom/Dropbox/Projects/annonallanswerswithmaster1012013.csv',index_col=0,parse_dates=['Quradate'])

一个"干净"的解决方案将对许多人有帮助,为Pandas使用提供一种简单的数据集共享方式!我尝试了很多不成功的替代方法,我很确定我又漏掉了一些明显的东西。

更新一下,新的Google电子表格有不同的URL模式,只需在上面示例中的URL或下面的答案中使用这个URL即可,应该可以解决问题,以下是一个示例:

https://docs.google.com/spreadsheets/d/177_dFZ0i-duGxLiyg6tnwNDKruAYE-_Dd8vAQziipJQ/export?format=csv&id

查看下面的@Max Ghenis的解决方案,他只使用了pd.read_csv,不需要StringIO或requests...

0