我将一个文件上传到 Google 电子表格(以制作一个可公开访问的示例 IPython Notebook,其中包含数据)我正在使用它的本机形式的文件可以读入 Pandas 数据框。所以现在我使用下面的代码来读取电子表格,工作正常,但只是作为字符串出现,而且我没有任何运气试图将它恢复到数据框中(你可以获取数据)
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 或请求......