2016-04-16 5 views
1

Ich bin sehr neu in Pandas, und es sieht so aus, als wäre es das beste Werkzeug für das, was ich mir vorstelle. Ich war in der Lage, bestimmte Daten von dem Soundcloud-API zu sammeln, und drucken Sie die Felder wollen:Weitergabe von Elementen, die von einer API an einen Pandas DF zurückgegeben werden

for track in tracks: 
    print track.title, "-", track.genre, "-", track.tag_list, "-", track.created_at, "-", track.last_modified, "-", \ 
    track.permalink_url, "-", track.playback_count, "-", track.duration 

Tracks, von selbst diese zurückgibt:

[<soundcloud.resource.Resource object at 0x10bd66e50>, <soundcloud.resource.Resource object at 0x10bd66ad0>, <soundcloud.resource.Resource object at 0x10bd66b10>, <soundcloud.resource.Resource object at 0x10bd75d50>, <soundcloud.resource.Resource object at 0x10bd75c10> 

Gibt es eine einfache Möglichkeit, alle (oder einige zu bekommen der Komponenten) des Tracks-Objekts (Tracks, Genre, etc.) in einem Pandas df? Muss ich in eine Datei oder etwas drucken (was ich zu einem späteren Zeitpunkt noch benötige) und dann pd.read_csv() oder eine ähnliche Funktion verwenden?

+1

Drucken Sie niemals etwas in eine CSV, nur damit Sie es aus einer CSV-Datei lesen können. – miradulo

+0

Verwenden Sie das Paket 'soundcloud-python'? Wenn ja, versuchen Sie es mit: '[track.fields() für Spur in Spuren]'. – James

Antwort

2

Sie können einen DataFrame mithilfe eines Listenverständnisses erstellen.

all_tracks = pd.DataFrame(
    [(t.title, t.genre, t.tag_list, t.created_at, t.last_modified, 
     t.permalink_url, t.playback_count, t.duration) 
    for t in tracks], 
    columns=['title', 'genre', 'tag_list', 'created_at', 'last_modified', 
      'permalink_url', 'playback_count', 'duration']) 
+0

Danke Alexander – user5730994