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

在R语言中批量汇总多文件中的Team列数据

R批量汇总多个TXT文件的Team列唯一值

我有一批格式一致的TXT文件,每个文件都包含NameNo、Team等列。已经通过代码files <- list.files(pattern="*.txt", full.names = TRUE)获取了文件列表,此前是逐个用table(Team)统计,现在需要批量汇总每个文件的Team列唯一值,期望输出格式如下:

Item      Team
Test1      7,8
Test2      2,6
Test3        1

解决方案

  • 先定义单个文件处理函数,读取文件后提取并拼接Team列的唯一值:
process_file <- function(file_path) {
  # 根据文件实际分隔符调整sep,比如逗号分隔用sep=","
  df <- read.delim(file_path, sep = "\t", stringsAsFactors = FALSE)
  # 提取唯一Team值,排序后用逗号拼接
  unique_teams <- paste(sort(unique(df$Team)), collapse = ",")
  # 提取不带路径和后缀的文件名作为Item
  item_name <- tools::file_path_sans_ext(basename(file_path))
  data.frame(Item = item_name, Team = unique_teams, stringsAsFactors = FALSE)
}
  • 批量处理所有文件并合并结果:
# 加载dplyr用于合并数据框(若未安装先运行install.packages("dplyr"))
library(dplyr)

# 批量处理文件列表
result_list <- lapply(files, process_file)
# 合并所有结果为一个数据框
final_result <- bind_rows(result_list)

# 输出最终结果
print(final_result)

注意事项

  • 务必根据你的TXT文件实际分隔符调整read.delim中的sep参数,避免读取错误
  • 若Team列包含字符型值,排序和拼接逻辑也能正常生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 00:52:36