You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何循环处理多个同类dataframe,删除各DF列中对应文件名的指定字符串

你可以通过提取文件名中的编号动态生成待替换的匹配规则,完整的R实现代码如下:

# 加载字符串处理包,没有安装可以先运行 install.packages("stringr")
library(stringr)

# 1. 获取当前工作目录下所有test9到test15开头的csv文件
file_list <- list.files(pattern = "^test(9|1[0-5])\\.csv$")

# 2. 循环遍历每个文件处理
for (file in file_list) {
  # 提取当前文件名中的数字编号
  num <- str_extract(file, "\\d+")
  # 动态生成当前文件的匹配模式,末尾加\s*匹配目标字符串后多余的空格
  pattern <- paste0("CASE TEST ", num, "\\s*")
  
  # 读取csv文件,关闭因子自动转换方便处理字符串
  df <- read.csv(file, stringsAsFactors = FALSE)
  
  # 批量替换x和y列的目标字符串
  df$x <- gsub(pattern, "", df$x)
  df$y <- gsub(pattern, "", df$y)
  
  # 保存处理后的文件,加processed_前缀和原文件区分,不需要区分可以直接写file覆盖原文件
  write.csv(df, paste0("processed_", file), row.names = FALSE, quote = FALSE)
}

如果你的原文件中x、y列默认读取为因子类型,也可以直接修改因子水平提升处理效率,替换部分代码如下即可:

# 因子类型列的替换实现
levels(df$x) <- gsub(pattern, "", levels(df$x))
levels(df$y) <- gsub(pattern, "", levels(df$y))

内容的提问来源于stack exchange,提问作者ngzongyi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:09:01