在RStudio中运行循环批量编辑多个txt文件的方法求助
批量处理txt文件完整实现代码
library(tidyverse) library(fs) # 设定你的文件所在目录 target_dir <- "Document directory" setwd(target_dir) # 仅筛选目录下的txt文件,避免误读取其他格式文件 file_paths <- fs::dir_ls(target_dir, glob = "*.txt") # 循环处理每个文件 for(i in seq_along(file_paths)){ # 读取文件 temp_data <- read.delim(file = file_paths[i]) # 重置列名、删除第一行,和你单文件处理逻辑保持一致 colnames(temp_data) <- NULL temp_data <- temp_data[-1, ] # 以原文件名保存,sep和你原有参数保持一致 write.table(temp_data, file = file_paths[i], sep = "\t", row.names = FALSE, col.names = FALSE) }
补充说明
- 操作前请先备份所有原始txt文件,避免误操作导致数据丢失
- 上述代码完全沿用了你原有单文件的处理逻辑,如果你需要保留原始文件不被覆盖,可以修改
write.table的file参数,比如改成file = paste0("new_", basename(file_paths[i])),即可生成带new_前缀的新文件,不会修改原文件 - 如果你确定原文件的第一行是表头、不需要作为内容保留,也可以在读入阶段直接跳过第一行,简化代码逻辑,读入代码改为
temp_data <- read.delim(file = file_paths[i], skip = 1, header = FALSE),后续就不需要再执行重置列名和删行的操作
内容的提问来源于stack exchange,提问作者TryingBioinformatics
相关产品推荐
相关产品推荐

