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

合并单列CSV文件并将文件名设为列名的R语言技术问题

解决方案

你需要先获取每个CSV文件的文件名,再将对应数据框的列名替换为该文件名,之后再合并。这里提供两种可行的写法:

方法一:用*set_names*批量命名列

library(tidyverse)

# 获取文件名(不含路径),可选去掉.csv后缀
file_names <- list.files(path = 'C:/Users/Desktop/Standardized') %>%
  str_remove("\\.csv$")

df <- list.files(path = 'C:/Users/Desktop/Standardized', full.names = TRUE) %>%
  map(read_csv) %>%  # 批量读取文件
  set_names(file_names) %>%  # 给每个数据框设置列名
  bind_cols()

方法二:读取时直接重命名列

library(tidyverse)

file_paths <- list.files(path = 'C:/Users/Desktop/Standardized', full.names = TRUE)
file_names <- file_paths %>% basename() %>% str_remove("\\.csv$")

df <- map2(file_paths, file_names, ~ {
  read_csv(.x) %>% 
    rename(!!.y := 1)  # 将第1列重命名为对应文件名
}) %>% bind_cols()

关键说明

  • str_remove("\\.csv$") 用于去掉文件名里的.csv后缀,如果你希望列名保留后缀,删除这一行即可。
  • !!.y := 1 里的1指代数据框的第1列(因你的CSV均为单列),通过非标准求值实现动态重命名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 04:22:14