我在csv file_1的一列中有10000个或更多文本。 在另一个csv file_2中,我需要在file_1中搜索一些单词,如果文本包含该单词,则需要在下一列中进行记录。 需要多次搜索所有文本中的所有单词,单个文本可以包含来自file_2的多个单词,希望下一列中的所有单词都以逗号分隔。 大小写匹配也可能是一个挑战,我只想要完全匹配: 例: file_1 File_1 file_2
迪斯尼, 好莱坞
期望的输出: Desired Output
答案 0 :(得分:1)
我假设您将文件读入两个独立的数据框,如df1和df2。
您可以根据需要从df2对您的搜索值进行子集化,或将其转换为一个大型向量,以便使用以下方法进行搜索:
df2 <- as.vector(t(df2))
然后创建一个新列&#34;匹配&#34;在df1上使用包含df2中匹配的项目。
for (i in 1:nrow(df1)) {
df1$Match[i] <- paste0(df2[which(df2 %in df1$SearchColumn[i])],collapse = ",")
}
这从第1行循环到df1中的最大行数,使用where函数在df2中查找匹配的索引,然后调用这些值并将它们粘贴在一起,用逗号分隔。我确定其他人可以在没有循环的情况下找到实现这一目标的方法,但我希望这对你有用。