[英]How to make one dataframe from a specific item from each response in a list?
我在 Spotify API 请求中列出了 R 中的 4 个项目:
> lijstwijk
[[1]]
Response [https://api.spotify.com/v1/search?q=track%3APompeii%20artist%3ABastille&type=track&limit=1]
Date: 2020-06-16 20:14
Status: 200
Content-Type: application/json; charset=utf-8
Size: 2.78 kB
{
"tracks" : {
"href" : "https://api.spotify.com/v1/search?query=track%3APompeii+artist%3ABastille&type=track&offset=0&limit=1",
"items" : [ {
"album" : {
"album_type" : "album",
"artists" : [ {
"external_urls" : {
"spotify" : "https://open.spotify.com/artist/7EQ0qTo7fWT7DPxmxtSYEc"
},
...
[[2]]
Response [https://api.spotify.com/v1/search?q=track%3AUnderdog%20artist%3AAlicia%20Keys&type=track&limit=1]
Date: 2020-06-16 20:14
Status: 200
Content-Type: application/json; charset=utf-8
Size: 3.84 kB
{
"tracks" : {
"href" : "https://api.spotify.com/v1/search?query=track%3AUnderdog+artist%3AAlicia+Keys&type=track&offset=0&limit=1",
"items" : [ {
"album" : {
"album_type" : "single",
"artists" : [ {
"external_urls" : {
"spotify" : "https://open.spotify.com/artist/3DiDSECUqqY1AuBP8qtaIa"
},
...
[[3]]
Response [https://api.spotify.com/v1/search?q=track%3AThe%20Way%20It%20Is%20artist%3ABruce%20Hornsby%20&%20The%20Range=&type=track&limit=1]
Date: 2020-06-16 20:14
Status: 200
Content-Type: application/json; charset=utf-8
Size: 4.58 kB
{
"tracks" : {
"href" : "https://api.spotify.com/v1/search?query=track%3AThe+Way+It+Is+artist%3ABruce+Hornsby+&type=track&offset=0&limit=1",
"items" : [ {
"album" : {
"album_type" : "album",
"artists" : [ {
"external_urls" : {
"spotify" : "https://open.spotify.com/artist/2iM28IgKg89v1o7BTQAVPo"
},
...
[[4]]
Response [https://api.spotify.com/v1/search?q=track%3ABefore%20You%20Go%20artist%3ALewis%20Capaldi&type=track&limit=1]
Date: 2020-06-16 20:14
Status: 200
Content-Type: application/json; charset=utf-8
Size: 3.76 kB
{
"tracks" : {
"href" : "https://api.spotify.com/v1/search?query=track%3ABefore+You+Go+artist%3ALewis+Capaldi&type=track&offset=0&limit=1",
"items" : [ {
"album" : {
"album_type" : "single",
"artists" : [ {
"external_urls" : {
"spotify" : "https://open.spotify.com/artist/4GNC7GD6oZMSxPGyXy4MNB"
},
我只需要列表中每个响应中的项目 spotify:track uri。 因此,对于前两个结果,我是手动完成的:
# item one #
> itemone <- lijstwijk[[1]]
> itemoneparsed <- content(itemone, as="parsed")
> uritstone <- itemoneparsed$tracks$items[[1]]$uri
> uritstone
[1] "spotify:track:3gbBpTdY8lnQwqxNCcf795"
#item two#
> itemtwo <- lijstwijk[[2]]
> itemtwoparsed <- content(itemtwo, as="parsed")
> uritsttwo <- itemtwoparsed$tracks$items[[1]]$uri
> uritsttwo
[1] "spotify:track:3FGiFUJRRp5RGikVrs6kig"
如何从列表中的每个响应中制作包含项目 spotify:track: 的 dataframe?
如何从列表的每个响应中制作一个包含项目 spotify:track: 的 dataframe? 例如:
Spotifytrackuri
1. "spotify:track:3gbBpTdY8lnQwqxNCcf795"
2. "spotify:track:3FGiFUJRRp5RGikVrs6kig"
3. "spotify:track:xxxxxxxxxxxxxxxxxxxxxx"
4. "spotify:track:xxxxxxxxxxxxxxxxxxxxxx"
请注意,对于此示例,我有 4 个响应。 但还会有更多。 因此,对于每个响应,必须从响应中删除项目 spotify: track: 并将其放置在一个数据框中。
我怎样才能归档这个结果?
@Bas,它适用于一些项目(比如说大约 10 个)。 对于 99 个元素的列表,我收到以下错误:
> lijstwijkuri <- lapply(lijstwijk, function(item) content(item, as="parsed")$tracks$items[[1]]$uri)
Error in content(item, as = "parsed")$tracks$items[[1]] :
subscript out of bounds
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.