Удалите кавычки, которые находятся внутри кавычек, используя R - PullRequest
1 голос
/ 18 апреля 2019

У меня есть некоторые данные в формате почти JSON, но не совсем.Я пытаюсь преобразовать его из JSON, используя jsonlite в R. Вот пример данных:

field
{'email': {'name': 'Bob Smith', 'address': 'bob_smith@blah.com'}}
{'email': {'name': "Sally O'Mally", 'address': 'sally_omally@blah.com'}}
{'email': {'name': 'Sam Daniels', 'address': '"some text"<sam_daniels@xyz.com>'}}
{'email': {'name': "Johnson', Alan", 'address': 'alan.johnson@abc.com'}}

Я хочу удалить все кавычки (одинарные и двойные).), которые находятся внутри основных цитат.Затем данные будут выглядеть следующим образом:

field
{'email': {'name': 'Bob Smith', 'address': 'bob_smith@blah.com'}}
{'email': {'name': "Sally OMally", 'address': 'sally_omally@blah.com'}}
{'email': {'name': 'Sam Daniels', 'address': 'some text<sam_daniels@xyz.com>'}}
{'email': {'name': "Johnson, Alan", 'address': 'alan.johnson@abc.com'}}

После этого я могу обработать преобразование одинарных кавычек в двойные, используя stringr и преобразование из JSON.

Есть предложения?

Это ошибка, которую я сейчас получаю при попытке конвертировать исходные данные из JSON:

> json_test2 <-
+   json_test %>%
+   dplyr::mutate(
+     field2 = map(field, ~ fromJSON(.) %>% as.data.frame())
+   )
Error: lexical error: invalid char in json text.
                                      {'email': {'name': 'Bob S
                     (right here) ------^
...