我有一堆HICF表单(医疗保健),我想自动拉某些字段。目前,我可以在一个目录中有一堆pdf。代码引用它们,并获取所有数据,并在有\n的地方分隔每一行。
然后,它将所有数据集合并到一个文件中。问题是,数据仍然有点乱,而且不同的行。
我更愿意说,“输出介于”这个单词“和”那个单词“之间的文本。我将需要为大约9个输出添加代码。我假设我可以使用rm_between函数,但我不确定如何合并。
我希望输出能够找到选择单词之间的文本,并将此数据导出到csv文件。
您建议如何升级此代码?
install.packages("pdftools")
install.packages("tesseract")
install.packages("plyr")
install.packages("qpcR")
library(pdftools)
library(tesseract)
library (plyr)
library(qpcR)
text <- ocr("POC File 12.20 (3).pdf")
test2<-strsplit(text,"\n")
df <- ldply (test2, data.frame)
compile<-df
file_list <- list.files()
for (file in file_list){
text <- ocr(file)
test2<-strsplit(text,"\n")
df <- ldply (test2, data.frame)
compile<-qpcR:::cbind.na(compile,df)
}
write.csv(compile,"compiled.csv")发布于 2018-12-21 22:38:44
我喜欢使用stringr-package来提取文本的各个部分,我想这正是您正在寻找的。我还提供了一些示例-数据,这能满足您的需求吗?
library(stringr)
mytextlines <- c("somedata_This word WantedData That word",
"NothingToExtractHere",
"somedata_other word WantedOtherData other close")
LookFor <- c(Tag1="This word *(.*?) *That word",
Tag2="Other word *(.*?) *Other close")
found <- sapply(LookFor, function(look) {
gsub(look, '\\1', str_extract(mytextlines, pattern=regex(look, ignore_case = TRUE)), ignore.case = TRUE)
})它将输出一个矩阵,每行文本对应一行,您要查找的每个标记都对应一列,如果该行中什么也没有找到,则输出NA。
正则表达式正在寻找一些东西:
gsub仅用第3项(括号之间的部分)替换这5个元素
https://stackoverflow.com/questions/53877413
复制相似问题