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

2023-12-05

我将一个文件上传到 Google 电子表格(以制作一个可公开访问的示例 IPython Notebook,其中包含数据),我使用的文件的本机形式可以读入 Pandas 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,您应该没问题,这里是一个示例:

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

请参阅@Max Ghenis 的以下解决方案,它仅使用 pd.read_csv,不需要 StringIO 或请求...


似乎对我来说没有StringIO:

test = pd.read_csv('https://docs.google.com/spreadsheets/d/' + 
                   '0Ak1ecr7i0wotdGJmTURJRnZLYlV3M2daNTRubTdwTXc' +
                   '/export?gid=0&format=csv',
                   # Set first column as rownames in data frame
                   index_col=0,
                   # Parse column values to datetime
                   parse_dates=['Quradate']
                  )
test.head(5)  # Same result as @TomAugspurger

顺便说一句,包括?gid=允许导入不同的工作表,在 URL 中找到 gid。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Google 电子表格 CSV 导入 Pandas 数据框 的相关文章

随机推荐