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

使用lapply合并CSV文件时如何保留文件名?

解决方法

Base R 实现

直接修改lapply中的逻辑,自定义读取函数,在读取每个CSV文件后添加存储文件名的列:

setwd("")

files <- list.files("folder", pattern = ".csv", recursive = T, full.names = T)

# 自定义读取函数,附带文件名
read_with_filename <- function(file_path) {
  # 读取文件,跳过前15行
  df <- read.csv(file_path, as.is = TRUE, skip = 15, header = TRUE)
  # 添加文件名列:用basename仅保留文件名(不含路径),需完整路径则直接用file_path
  df$filename <- basename(file_path)
  return(df)
}

# 批量读取并合并表格
data <- do.call(rbind, lapply(files, read_with_filename))

Tidyverse 简洁写法

如果习惯用tidyverse工具链,purrr::map_dfr可自动合并并添加来源标识:

library(tidyverse)

setwd("")

files <- list.files("folder", pattern = ".csv", recursive = T, full.names = T)

data <- map_dfr(files, function(file) {
  read.csv(file, as.is = TRUE, skip = 15, header = TRUE) %>%
    mutate(filename = basename(file))
})

修改后合并的data表格会新增filename列,每条数据都会对应其原始CSV文件的名称。

内容的提问来源于stack exchange,提问作者Marta Román

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 11:22:04