You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中将JSON格式字符串列拆分为多个对应字段列

解决方案

你之前用separate失效的核心原因有两个:一是正则分隔符规则写错,二是字符串拆分的方式天生不适合处理这类结构化键值对数据,一旦值中包含逗号、引号等特殊字符会直接出现拆分错位问题,容错率极低,直接做JSON解析是最稳定的解法。

实现步骤(R语言tidyverse生态)

  1. 先把字符串里的单引号替换为双引号,转换为标准JSON格式
  2. 逐行解析JSON为列表结构
  3. 把列表直接展开为多列即可

可运行代码示例

# 加载依赖包
library(tidyverse)
library(jsonlite)

# 处理数据
result <- data %>%
  # 替换单引号为双引号,生成合法JSON格式
  mutate(address = str_replace_all(address, "'", '"'),
         # 逐行解析JSON字符串为列表
         address_list = map(address, fromJSON)) %>%
  # 把列表内容展开为独立字段列
  unnest_wider(address_list)

执行后你需要的district、city等10个字段会自动生成对应列,值和原字典内容完全匹配。

注意事项

如果你的实际数据中存在值本身包含单引号的情况,可以提前对值内的单引号做转义处理,避免替换全局单引号时破坏JSON结构。


内容的提问来源于stack exchange,提问作者dantaspg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 03:15:01