在 R 中解析 JSON:词法错误 - json 文本中的无效字符

2024-04-11

我在 R 中有一个文件(“my_file”),如下所示:

  NAME                                                                                                                                                                                     Address_Parse
1 name1 [('372', 'StreetNumber'), ('river', 'StreetName'), ('St', 'StreetType'), ('S', 'StreetDirection'), ('toronto', 'Municipality'), ('ON', 'Province'), ('A1C', 'PostalCode'), ('9R7', 'PostalCode')]
2 name2 [('208', 'StreetNumber'), ('ocean', 'StreetName'), ('St', 'StreetType'), ('E', 'StreetDirection'), ('Toronto', 'Municipality'), ('ON', 'Province'), ('J8N', 'PostalCode'), ('1G8', 'PostalCode')]

如果结构令人困惑,文件如下所示

my_file = structure(list(NAME = c("name1", "name2"), Address_Parse = c("[('372', 'StreetNumber'), ('river', 'StreetName'), ('St', 'StreetType'), ('S', 'StreetDirection'), ('toronto', 'Municipality'), ('ON', 'Province'), ('A1C', 'PostalCode'), ('9R7', 'PostalCode')]", 
"[('208', 'StreetNumber'), ('ocean', 'StreetName'), ('St', 'StreetType'), ('E', 'StreetDirection'), ('Toronto', 'Municipality'), ('ON', 'Province'), ('J8N', 'PostalCode'), ('1G8', 'PostalCode')]"
)), class = "data.frame", row.names = c(NA, -2L))

目标:对于每一行,我想获取每个“元素”(例如“StreetNumber”、“StreetName”、“StreetType”等)并将其转换为新列。这看起来像这样:

   name StreetNumber StreetName StreetType StreetDirection Municipality Province PostalCode
1 name1          372      river         St               S      toronto       ON     A1C9R7
2 name2          208      ocean         St               E      Toronto       ON     J8N1G8

对我来说,地址字段似乎是 JSON 格式(我可能是错的)。我尝试寻找解析 JSON 的不同方法。例如,我尝试应用此处提供的答案(R:将数据帧列中的嵌套 JSON 转换为同一数据帧中的附加列 https://stackoverflow.com/questions/49633803/r-convert-nested-json-in-a-data-frame-column-to-addtional-columns-in-the-same-d):

library(dplyr)
library(tidyr)
library(purrr)
library(jsonlite)

final = my_file %>%
  mutate(
    json_parsed = map(Address_Parse, ~ fromJSON(., flatten=TRUE))
  ) %>%
  unnest(json_parsed)

但是,这给了我以下错误:

Error in `mutate()`:
! Problem while computing `json_parsed = map(Address_Parse, ~fromJSON(., flatten = TRUE))`.
Caused by error:
! lexical error: invalid char in json text.
                                      [('372', 'StreetNumber'), ('rive
                     (right here) ------^
Run `rlang::last_error()` to see where the error occurred.

然后我尝试了另一种方法:

final <- my_file %>% 
          rowwise() %>%
          do(data.frame(fromJSON(.$Address_Parse , flatten = T))) %>%
          ungroup() %>%
          bind_cols(my_file  %>% select(-Address_Parse ))

但我现在收到一个新错误:

Error: lexical error: invalid char in json text.
                                      [('372', 'StreetNumber'), ('rive
                     (right here) ------^

有人可以告诉我解决这个问题吗?

谢谢你!


您可能需要稍微调整 JSON 的格式才能使其正常工作。
我用过stream_in函数而不是fromJSON因为它通常更快并且可以自动处理很多事情。

library(jsonlite)
out <- stream_in(textConnection(chartr("()'", '[]"', my_file$Address_Parse)))
s <- seq(1, ncol(out)/2)
setNames(out[s], unlist(out[1, -s]))

#  StreetNumber StreetName StreetType StreetDirection Municipality Province PostalCode PostalCode
#1          372      river         St               S      toronto       ON        A1C        9R7
#2          208      ocean         St               E      Toronto       ON        J8N        1G8
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 中解析 JSON:词法错误 - json 文本中的无效字符 的相关文章

  • R,使用具有两种以上可能性的二项式分布

    我知道这可能是基本的 但我似乎有一个心理障碍 假设您想要计算在一个骰子上掷出 4 5 或 6 的概率 在 R 中 这很简单 sum 1 6 1 6 1 6 这给出了 1 2 这是正确答案 然而 我内心深处 可能应该保留的地方 认为我应该能够
  • R Shinydashboard 自定义 CSS 到 valueBox

    我一直在尝试将 valueBox 的颜色更改为自定义颜色 超出 validColors 中可用的颜色 但一直无法这样做 我知道有一种方法可以使用标签来包含自定义 CSS 但是我无法将它们放在正确的位置 ui lt dashboardPage
  • 在 R 中提取 data.frames 列表的名称以及 data.frame 中的值

    在下面的代码中 j是 data frames 的命名列表 我想知道是否有办法 a 提取变量的数值 即one short and one long 在 data frames 内并附加它们的相关名称 即 AAA or BBB or CCC 到
  • json_encode 返回 NULL?

    由于某种原因 项目 描述 返回NULL使用以下代码 这是我的数据库的架构 CREATE TABLE staff id int 11 NOT NULL AUTO INCREMENT name longtext COLL
  • 在网格中制作一个矩形图例,并标记行和列

    我有一个 ggplot 我将因子映射到填充和 alpha 如下所示 set seed 47 the data lt data frame value rpois 6 lambda 20 cat1 rep c A B each 3 cat2
  • 发送 POST 请求时 JSON 原语无效

    我有以下 ajax 请求 其中我尝试将 JSON 对象发送到服务器 function sendData subscriptionJson ajax type POST url Url Action SubscribeSecurities S
  • 如何根据 ggplot2 中的汇总数据创建堆积条形图

    我正在尝试使用 ggplot 2 创建堆积条形图 我的宽格式数据如下所示 每个单元格中的数字是响应的频率 activity yes no dontknow Social events 27 3 3 Academic skills works
  • 当将遗传算法与 lme4 一起使用时,glmulti 无限期运行

    我在 R 中使用 glmulti 进行模型平均 我的模型中有大约 10 个变量 使得详尽的筛选不切实际 因此我需要使用遗传算法 GA 调用 method g 我需要包含随机效应 因此我使用 glmulti 作为 lme4 的包装器 此处提供
  • Jackson 将单个项目反序列化到列表中

    我正在尝试使用一项服务 该服务为我提供了一个带有数组字段的实体 id 23233 items name item 1 name item 2 但是 当数组包含单个项目时 将返回该项目本身 而不是包含一个元素的数组 id 43567 item
  • 扩展数据框以使其具有与原始行中两列的范围一样多的行[重复]

    这个问题在这里已经有答案了 我有一个数据框如下 structure list symbol c u n v i a start c 9L 6L 10L 8L 7L end c 14L 15L 12L 13L 11L Names c symb
  • 如何将旋转的 NetCDF 转换回正常的纬度/经度网格?

    我有一个带有旋转坐标的 NetCDF 文件 我需要将其转换为正常的纬度 经度坐标 经度为 180到180 纬度为 90到90 library ncdf4 nc open dat nf 对于尺寸 它显示 1 5 variables exclu
  • R 改变构面的顺序

    我正在尝试将方面的顺序从 BA SLG 更改为 SLG BA 我发现了与此类似的问题 但我认为我的解决方案可能不起作用 因为我已经在Excel中汇总了数据 因此 我的数据框可能会有所不同 无论如何 我尝试实现这个但无济于事 df2 lt f
  • 计算 R 行中的非零条目数

    我有以下类型的数据 mode1 mode2 mode3 1 8 1 0 2 0 0 0 3 6 5 4 4 1 2 3 5 1 1 1 数据使用dput structure list mode1 c 8L 0L 6L 1L 1L mode2
  • HTTR GET 新错误:SSL 证书问题:证书已过期

    我已经运行这段代码几个月了 没有出现任何问题 今天我突然开始在我的两台 AWS 服务器上收到以下错误消息 错误 curl curl fetch memory url handle handle SSL证书问题 证书已过期 当尝试运行以下代码
  • 无法编译包“maps”

    当我安装 maps 包时 安装中出现警告 ld warning ignoring file Library Developer CommandLineTools SDKs MacOSX10 14 sdk usr lib libSystem
  • 如何将参数从 Excel/VBA 传递到 Rstudio 中的脚本

    我正在尝试使用 Rstudio 从 VBA 打开 R 脚本 同时将参数传递给 R 脚本 然后我可以使用 commandArgs 访问该脚本 该问题与此处描述的问题非常相似 WScript Shell 用于运行路径中包含空格且来自 VBA 的
  • 通过标识引用对象的标准方法(例如循环引用)?

    JSON 中是否有通过身份引用对象的标准方法 例如 具有大量 可能是循环 引用的图形和其他数据结构可以被合理地序列化 加载吗 Edit 我知道做一次性解决方案很容易 列出图中所有节点的列表 然后 我想知道是否有一个标准的 通用的解决方案来解
  • jq中如何分组?

    这是 json 文档 name bucket1 clusterName cluster1 name bucket2 clusterName cluster1 name bucket3 clusterName cluster2 name bu
  • 条件和分组 mutate dplyr

    假设我有以下每个抽屉库存增加的数据 gt socks year drawer nbr sock total 1990 1 2 1991 1 2 1990 2 3 1991 2 4 1990 3 2 1991 3 1 我想要一个二进制变量来标
  • R:改变堆积条形图的颜色

    library ggplot2 df2 lt data frame supp rep c VC OJ each 3 dose rep c D0 5 D1 D2 2 len c 6 8 15 33 4 2 10 29 5 head df2 g

随机推荐

  • 如何保存WPF UI状态?

    我有一个TabControl在它下面我有几个元素 例如TreeView and DataGrid 当我展开树并调整数据网格列的大小时 如果我然后切换到另一个选项卡并返回 整个 UI 状态都会被忘记 我必须重新展开树并调整列的大小 是否有一种
  • Android 没有按钮的对话框

    我可以创建一个没有否定或肯定按钮的对话框吗 特定行动后会自我毁灭吗 AlertDialog Builder dialog detect new AlertDialog Builder MainActivity this dialog set
  • 如何在 Swift 中将图像添加到 ARSCNScene 中?

    我在开发 Swift 游乐场时偶然发现了一个障碍 我想将图像添加到我的 ARSCNScene ARKit SceneKit 不是作为背景 而是作为具有位置和所有内容的实际节点 有谁知道这是否可能 我在网上找不到任何东西 谢谢 您可以轻松地将
  • 如何更改 vagrant 安装的 puppet 版本

    我在 Precision32 Base Box 上使用 vagrant 1 0 1 来玩木偶 配置工作正常 我的清单正在执行 默认情况下 vagrant 在 guest 虚拟机上的 opt vagrant ruby bin puppet 下
  • 使用 awk 在匹配后连接行

    我有一个如下所示的列表 gt aaa AAAAAAAAAA gt bbb BBBBBBBBBBBBBBBB gt ccc CCCCCCC 我想使用 awk 在 或 之后加入下一行 并使用逗号分隔符 这样它看起来像这样 gt aaa AAAA
  • C# Server.URLEncode 的 JavaScript 等价物是什么?

    C Server URLEncode 的 JavaScript 等价物是什么 encodeURI http xkr us articles javascript encode compare ref js msdn http xkr us
  • Maven 问题:项目构建错误:未解析的父 POM

    项目构建错误 无法解析 org springframework gs spring boot 0 1 0 的父 POM 无法从以下位置传输 org springframework boot spring boot starter paren
  • 在 Azure DevOps 中,是否有一种简单的方法可以将 wiki 从一个存储库复制到另一个存储库?

    我看到有一个 克隆维基 链接 但我不知道是否可以将克隆维基导入到另一个存储库中 我们正在做的是将我们的存储库从我们自己的 Azure 帐户移动到客户的 Azure 帐户 这样 wiki 将丢失 我不想手动复制所有 wiki 页面 是否可以将
  • 如何使用Sphinx管理多个版本的文档? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我维护一个用 C 编写的小型库项目 我想使用 Sphinx 来维护每个发行版本的图书馆网站 用户文档 我发现 类似的问题如何管理多个版本 htt
  • 无法在jsf页面中执行Javascript

    我是jsf新手 我一直在尝试用 commandbutton 做一个简单的 Javascript 函数 我尝试了很多次 但甚至无法发出警报消息 这是我的代码的一部分 请任何人指导我 并告诉我出了什么问题 以及我应该做什么才能让它运行
  • 如何在 UINavigationBar 中设置自定义字体?

    如何在 UINavigationBar 中设置自定义字体 我需要 tahoma 字体 void viewDidLoad self title My text 完全有可能 只是做起来有点棘手 一旦你找到了你需要的字体 iOS 已经附带的替代品
  • PHP 中使用 @ 运算符抑制错误

    您认为 在您可能正在处理错误的情况下 使用 运算符来抑制 PHP 中的错误 警告是否有效 如果是这样 你会在什么情况下使用它 欢迎使用代码示例 编辑 回复者注意 我不想关闭错误报告 但是 例如 常见的做法是使用 fopen file 然后检
  • 向 Apache Pdfbox 添加字体?

    有没有办法将其他字体样式添加到 Apache Pdfbox 中 我们目前正在尝试解决在我们的系统中打印 PDF 的问题 目前正在使用PDF渲染器 https java net projects pdf renderer 我一直在寻找各种替代
  • 使用 AVFoundation 播放 wav 声音文件

    我正在使用 AVFoundation 播放 wav 文件 但我无法让它播放 也没有出现错误或警告 XCode 是 4 2 设备是 iOS 5 IBAction playSelectedAlarm id sender UIButton but
  • 在 Firefox Web 扩展中使用数据库

    我想在我的 Firefox Web 扩展中使用一些数据库 我已经找到了this https developer mozilla org en US docs Mozilla Add ons WebExtensions API storage
  • 在 d3 中动态创建图例

    我在用d3 scale quantize 和colorBrewer获得色阶 var extent d3 extent collection features function d return d properties mean var c
  • 释放处理失败异常

    我刚刚在一个相当简单的小程序上遇到了以下该死的 MDA 异常 SafeHandle 或 CriticalHandle 类型 Microsoft Win32 SafeHandles SafeCapiHashHandle 未能正确释放手柄 值为
  • java.lang.reflect.InaccessibleObjectException:无法使字段私有最终 java.util.Comparator java.util.TreeMap.comparator 可访问:模块

    这是我的第一个黄瓜项目 我在设置所有内容时遵循了教程 一切似乎都是一样的 但出于某种原因我得到了这个 java lang ExceptionInInitializerError 导致 java lang reflect Inaccessib
  • 使用 C# 从图像中提取子图像

    我有一个位图对象 我需要提取子图像并通过传递包含子图像坐标的矩形对象将其保留为位图对象 是否有一个 C 库能够做到这一点 或者 Aforge 能够提取子图像 Thanks Bitmap 类有一个Clone http msdn microso
  • 在 R 中解析 JSON:词法错误 - json 文本中的无效字符

    我在 R 中有一个文件 my file 如下所示 NAME Address Parse 1 name1 372 StreetNumber river StreetName St StreetType S StreetDirection to