从 df 列 R 中提取特定的文本部分

Extract specific text parts from df column R

我有一个问题如何提取部分文本并将它们转换为 df 输出。

这是我的df的一个例子,我的一列输出一行(一个单元格的内容)

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

我的预期输出将有 2 列,其中包含我从该字符串中获得的行数:

努力日期
2021-07-04
2021-04-11

和第二列
努力
2
1

有什么实现方法的建议吗?

谢谢!

看起来像 json-content... 但是 => 会影响阅读。如果您将其替换为:,您将能够正常阅读。

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

jsonlite::fromJSON(gsub("=>", ":", 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