【发布时间】:2020-04-20 03:38:50
【问题描述】:
我正在尝试解析我在旅行中遇到的一些奇怪的数据结构。本质上它们类似于 python 或 javascript 字典,但键和值都是数字:
weird <- "{47=4578.0005, 181=23456.7831, 216=7548.2367}"
为了将其转换为表格,我尝试将其转换为更典型的字典格式并使用 jsonlite 解析它:
library(tidyverse)
library(jsonlite)
weird <- parse_json(str_replace(weird, "=", ":"))
#> Error: parse error: invalid object key (must be a string)
parse_json 函数正确地抱怨密钥不是字符串。我当然可以使用str_split 剖析所有这些,但我希望善良的灵魂可能对更优雅/紧凑的解决方案(希望完全避免使用正则表达式)有一些见解,可以将其解析成这样的表格:
tibble::tribble(
~ key, ~ value,
47, 4578.0005,
181, 23456.7831,
216, 7548.2367
)
#> # A tibble: 3 x 2
#> key value
#> <dbl> <dbl>
#> 1 47 4578.
#> 2 181 23457.
#> 3 216 7548.
谢谢!
【问题讨论】:
标签: r dictionary jsonlite