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

Posted

技术标签:

【中文标题】从 df 列 R 中提取特定文本部分【英文标题】:Extract specific text parts from df column R 【发布时间】:2022-01-13 06:52:34 【问题描述】:

我有一个问题,如何提取部分文本并将它们转换为 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

有什么建议可以实现吗?

谢谢!

【问题讨论】:

【参考方案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

【讨论】:

这速度超快,非常感谢!

以上是关于从 df 列 R 中提取特定文本部分的主要内容,如果未能解决你的问题,请参考以下文章

使用 R 和 tidyr() 从 NA 中提取文本

是否可以使用 pytesseract 从图像的特定部分提取文本

如何仅从 R 中的特定列对中提取显着相关性?

r语言提取部分数据剩下的数据怎么表示

根据另一列匹配部分文本

带坐标的PDF文本提取