如何在Python中将soundcloudapi响应转换为CSV?

2024-04-23 21:31:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我,一个新手,正在用Python玩Soundcloud API,当我得到一大块数据作为回报时(我猜是作为一个对象),我真的不知道如何操作它:

favorites = client.get('/me/favorites')
<class 'soundcloud.resource.ResourceList'>

我猜这是一个数据包,它有自己的属性。我能做到:

for favorite in favorites:
    print favorite.id

这会给我一个我喜欢的歌曲的ID列表。你知道吗

146967741
136766472

但是,我如何才能看到这个对象有哪些属性供我使用,更重要的是,我如何才能将它转换成一个CSV,我可以查看?你知道吗

谢谢!你知道吗


Tags: 数据对象clientapiget属性resourcefavorite
2条回答

和其他物体一样。你知道吗

for favorite in favorites:
    print dir(favorite)

python世界中有许多模块,比如csv module (python standard library)。你知道吗

import csv
with open('some.csv', 'wb') as f:
    writer = csv.writer(f)
    writer.writerows(someiterable)

假设您使用的是soundcloud python,您可以使用fields方法获取内部dict,或者使用keys只查看可用的名称。 资料来源:resource.py

至于csv问题,获得更多关于您已经尝试过的内容的信息会很有帮助,但是您可以使用csv模块的DictWriter类,并将fields()中的字典传递给它。更多详细信息请参见python documentation。你知道吗

将两者结合起来:

import csv
with open('names.csv', 'w') as csvfile:
    fieldnames = favorites[0].keys()
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()

    for favorite in favorites:
        writer.writerow(favorite.fields())

请记住,我没有测试过这个,也没有API密钥。SoundCloud API Guide还有大量有价值的信息。你知道吗

相关问题 更多 >