美文网首页
批次将文件夹中的内容读入

批次将文件夹中的内容读入

作者: 生信小鹏 | 来源:发表于2023-10-07 17:40 被阅读0次

    使用for循环

    使用for循环,依次读入文件夹“input”中的文件,将读入的数据放入一个list

    # 创建一个空列表来存储数据块
    data_list <- list()
    
    # 指定文件夹路径
    folder_path <- "input/"
    
    # 获取文件夹中的文件列表
    file_list <- list.files(path = folder_path, full.names = TRUE)
    
    # 遍历文件列表并读入数据
    for (file_path in file_list) {
      # 提取文件名(不包括路径和扩展名)
      file_name <- tools::file_path_sans_ext(basename(file_path))
      
      # 读入文件数据(这里假设文件是文本文件)
      data <- read.table(file_path, header = TRUE, sep = "\t")
      
      # 将数据添加到列表中,以文件名作为标识
      data_list[[file_name]] <- data
    }
    
    # 打印列表中的数据
    print(data_list)
    

    使用lapply 函数

    # 指定文件夹路径
    folder_path <- "./extracted/"
    
    # 列出文件夹中的文件
    file_list <- list.files(path = folder_path, pattern = "\\.gz$", full.names = TRUE)
    
    # 定义一个函数来读取文件夹中的文件
    read_gz_file <- function(file_path) {
      data <- data.table::fread(file_path, header = F)
      return(data)
    }
    
    # 使用 lapply() 读入文件并放到列表中
    file_data_list <- lapply(file_list, read_gz_file)
    
    

    相关文章

      网友评论

          本文标题:批次将文件夹中的内容读入

          本文链接:https://www.haomeiwen.com/subject/iylvbdtx.html