【问题标题】:how to convert dataframe each row to json using R?如何使用 R 将每一行的数据帧转换为 json?
【发布时间】:2021-09-17 18:30:03
【问题描述】:

我有数据框。 df1: ('array'列是json数组)

df1 <- data.frame(email = c('user1', 'user2', 'user3', 'user4'), date = c('2021.07.07', '2021.07.07', '2021.07.07','2021.07.07'), timestamp=c(1625643960,1625643961,1625643962,1625643963), type=c('general','general','special','special'),
               array=c('[{"id":"id1","name":"name1"},{"id":"id2","name":"name2"},{"id":"id3","name":"name3"}]', '[{"id":"id1","name":"name1"},{"id":"id2","name":"name2"},{"id":"id3","name":"name3"}]', '[{"id":"id5","name":"name5"},{"id":"id2","name":"name2"},{"id":"id3","name":"name5"}]', '[{"id":"id4","name":"name4"},{"id":"id2","name":"name2"},{"id":"id3","name":"name6"}]'))

我想更改 df1。 像这样..

如何在没有for循环的情况下制作df2?

【问题讨论】:

    标签: r json dataframe dplyr


    【解决方案1】:

    你可以使用sprintf

    result <- cbind(df1[1], json = with(df1, 
                    sprintf('{"email":"%s", "date":"%s", "timestamp":%d, 
                    "type": "%s", "array":%s', email, date, timestamp, type, array)))
    
    result
    
    # email
    #1 user1
    #2 user2
    #3 user3
    #4 user4
                                                                                                                                                                                 #json
    #1 {"email":"user1", "date":"2021.07.07", "timestamp":1625643960, "type": "general", "array":[{"id":"id1","name":"name1"},{"id":"id2","name":"name2"},{"id":"id3","name":"name3"}]
    #2 {"email":"user2", "date":"2021.07.07", "timestamp":1625643961, "type": "general", "array":[{"id":"id1","name":"name1"},{"id":"id2","name":"name2"},{"id":"id3","name":"name3"}]
    #3 {"email":"user3", "date":"2021.07.07", "timestamp":1625643962, "type": "special", "array":[{"id":"id5","name":"name5"},{"id":"id2","name":"name2"},{"id":"id3","name":"name5"}]
    #4 {"email":"user4", "date":"2021.07.07", "timestamp":1625643963, "type": "special", "array":[{"id":"id4","name":"name4"},{"id":"id2","name":"name2"},{"id":"id3","name":"name6"}]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-27
      • 2023-03-18
      • 2017-12-13
      • 2018-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-08-31
      相关资源
      最近更新 更多