Извлеките определенные части текста из столбца df R

#r #string #stringr

#r #строка #stringr

Вопрос:

У меня есть вопрос, как извлечь части текста и преобразовать их в вывод.

Это пример моего df, вывод одной строки в моем одном столбце (содержимое одной ячейки)

[{"id"=gt;"aaaaaaaaaaaaaaaa", "effortDate"=gt;"2021-07-04T23:00:00.000Z", "effort"=gt;2, "author"=gt;"a:aa:a"}, {"id"=gt;"bbbbbbbbbbbbbb", "effortDate"=gt;"2021-07-11T23:00:00.000Z", "effort"=gt;1, "author"=gt;"b:bb:b"}, {"id"=gt;"ccccccccccccc", "effortDate"=gt;"2021-07-17T23:00:00.000Z", "effort"=gt;1, "author"=gt;"c:cc:c"} ]

Мой ожидаемый результат будет состоять из 2 столбцов с таким количеством строк, которое я получу из этой строки:

Дата
начала 2021-07-04
2021-04-11

и вторая колонка
усилие
2
1

Есть какие-нибудь предложения, как этого добиться?

Спасибо!

Ответ №1:

похоже на json-контент… но все эти =gt; проблемы с чтением. Если вы замените его на : , вы сможете правильно читать.

 mystr lt;- '[{"id"=gt;"aaaaaaaaaaaaaaaa", "effortDate"=gt;"2021-07-04T23:00:00.000Z", "effort"=gt;2, "author"=gt;"a:aa:a"}, {"id"=gt;"bbbbbbbbbbbbbb", "effortDate"=gt;"2021-07-11T23:00:00.000Z", "effort"=gt;1, "author"=gt;"b:bb:b"}, {"id"=gt;"ccccccccccccc", "effortDate"=gt;"2021-07-17T23:00:00.000Z", "effort"=gt;1, "author"=gt;"c:cc:c"}]'  jsonlite::fromJSON(gsub("=gt;", ":", mystr)) # id effortDate effort author # 1 aaaaaaaaaaaaaaaa 2021-07-04T23:00:00.000Z 2 a:aa:a # 2 bbbbbbbbbbbbbb 2021-07-11T23:00:00.000Z 1 b:bb:b # 3 ccccccccccccc 2021-07-17T23:00:00.000Z 1 c:cc:c  

Комментарии:

1. Это было очень быстро, большое вам за это спасибо!