我将一个文件上传到 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 或请求...