【发布时间】:2020-08-07 14:45:27
【问题描述】:
我正在尝试拆分一些数据(字符串)并将它们放入数据框中。在我的字符串中,第一个是 col 名称,第二部分是它的值。我的数据是这样的:
"\"id\":247,\"hseStr\":[1,1,1,1],\"pertun\":96,\"sqrMtr\":[2500,2500,2500,2500,2500,2500],\"hDWInt\":[],\"hDWIIncptn\":[],\"hDWIID\"":[],\"cntRateRgn\":\"2102B02\",\"prclID\":\"4748403C\", \"hAction\":null ,\"mAction\":null,\"addrGrps\":null,\"hseEQDdctbl\":[51.8594958810969,42.
理想情况下,我想成为这样的人:
id hseStr pertun sqrMtr ...
247 [1,1,1,1] 96 [2500,2500,2500,2500,2500,2500]...
之前我是把数据用“,”分割然后放到表中,但是这里因为[1,1,1,1]等值中用到的“,”比较多,所以不能用这个方法!
我以某种方式区分了文本中使用的“,”并将它们替换为不同的字符。
更新 完整的字符串:
"{\"id\":21247,\"hs111\":[1,1,1,1],\"p2n\":96,\"sq211\":[20,500,20,20,20,20],\"hoi\":[],\"hsa\":[],\"h961\":[],\"h885\":[],\"t252\":[],\"cn01\":[],\"cD56\":[],\"cI65\":[],\"mD24\":[],\"mD23\":[],\"m63\":[],\"m985\":[],\"h23\":[],\"c112\":[],\"m41\":[],\"r54\":1,\"m63\":\"S6\",\"hs74\":\"2\",\"c55\":\"21\",\"p12\":\"4C\",\"h11\":null,\"m14\":null,\"a12\":null,\"h88\":[1.8,2.3,6.4,28.2,17.9,11.0,7.0,4.1,2.5,0],\"h87\":[3.9,6.1,6.9,4.2,3.7,2.487,1.6],\"cn98\":[1.25,3.1,1.4,12.1,5.3,2.2,1.1,0.5,0.2,0],\"h76\":null,\"c12\":null,\"m54\":null}"
【问题讨论】:
-
您的数据看起来非常像 json,但如果是这样,则说明它已损坏,请注意
\"hDWIID\"之后您的 R 字符串以 d 引号结尾,但字符串不会停止。此外,您的示例数据在没有完成的情况下突然结束。如果这是您的所有数据,那么您就有麻烦了,因为它与自己的格式不一致。如果还有更多,请提供所有内容。无论如何,如果它是正确的,那么您可以获得带有jsonlite::fromJSON(paste0("{", thisstring, "}"))的命名列表。但是,从那里开始,您可能会遇到问题,因为这不是“正常”的 json 编码帧。 -
@r2evans 是的,你是对的。我只是复制了一小部分。我提供了完整的数据。好吧,我不知道那是来自 Json。
标签: r string dataframe replace split