如何提取电子表格中含“India”的句子并保留File列?偏好KNIME/R
解决方案:提取含"India"的句子并保留File列
KNIME 实现方法
场景1:筛选内容列含"India"的整行
- 用
File Reader节点导入电子表格数据 - 添加
Row Filter节点,设置过滤规则:选择内容列,使用contains("India")(需忽略大小写时改用containsIgnoreCase("India")) - 运行后即可得到保留File列、仅包含目标内容的行
场景2:拆分内容中的句子,提取含"India"的条目并关联原File列
- 用
File Reader导入数据 - 添加
String Splitter节点,按句子分隔符(如". ")拆分内容列,开启"Split to rows"选项 - 添加
Row Filter节点,过滤拆分后内容列包含"India"的行 - 最终结果会保留原File列,仅显示含"India"的句子
R 实现方法
假设数据框为df,File是文件名列,Content是存储句子的列:
场景1:筛选整行
# 加载依赖包(按需读取文件) library(readxl) library(dplyr) # 读取数据(示例为Excel文件) df <- read_excel("你的文件路径.xlsx") # 筛选并保留目标列 result <- df %>% filter(grepl("India", Content)) %>% select(File, Content) print(result)
场景2:拆分句子后提取目标条目
library(tidyverse) # 读取数据 df <- read_excel("你的文件路径.xlsx") # 拆分句子、过滤、保留关联的File列 result <- df %>% mutate(Content = str_split(Content, "\\. ")) %>% unnest(Content) %>% filter(str_detect(Content, "India")) %>% select(File, Content) print(result)
其他方案(Excel)
- 在空白列输入公式:
=IF(ISNUMBER(SEARCH("India", B2)), B2, "")(B列为内容列) - 下拉填充后,筛选该列非空行,即可保留File列和含"India"的内容
- 也可直接用Excel筛选功能:内容列→文本筛选→包含→输入"India"
内容的提问来源于stack exchange,提问作者Pinky Rosie
相关产品推荐
相关产品推荐

