Google Spreadsheet-CSV in einen Pandas-Datenrahmen übernehmen

Lud ich eine Datei in Google spreadsheets (auf einem öffentlich zugänglichen Beispiel IPython-Notebook, mit Daten) war ich mit der Datei in seiner ursprünglichen form gelesen werden konnte in ein Pandas Dataframe. Also ich benutze jetzt folgenden code zum Lesen der Tabelle funktioniert gut, aber nur als string, und ich bin nicht mit etwas Glück zu versuchen, um es wieder in einen dataframe (Sie können die Daten)

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

Die Daten, die endet auf der Suche wie: (1. Zeile die überschriften)

',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

Den einheimischen pandas code, bringt in der disk-resident-Datei sieht wie folgt aus:

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

Eine "saubere" Lösung wäre es hilfreich, viele bieten eine einfache Möglichkeit zur Freigabe von Datensätzen für Pandas verwenden! Ich habe versucht eine Reihe von alternativen mit keinen Erfolg und ich bin mir ziemlich sicher, dass ich ' m fehlt etwas, das offensichtlich wieder.

Nur ein Update Hinweis: Das neue Google-Tabelle hat eine andere URL-Muster verwenden Sie Einfach diese statt der URL im obigen Beispiel und oder der weiter unten zu beantworten und Sie sollten in Ordnung sein, hier ist ein Beispiel:

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

siehe Lösung unten von @Max Ghenis, die nur pd.read_csv, keine Notwendigkeit für StringIO oder Anfragen...

InformationsquelleAutor der Frage dartdog | 2013-10-26

Schreibe einen Kommentar