此代码的功能是遍历当前目录下的所有TSV文件,将每个文件的第一列内容提取出来,并将其写入一个TXT文件中。每个TSV文件的内容占一行,文件名作为该行的第一列,第一列内容依次排开。
rm(list = ls())
setwd("C:\\Users\\Administrator\\Desktop\\pre_result-gene\\pre") #设置工作目录
library(tidyverse)
# 获取当前目录下所有的tsv文件
tsv_files <- list.files(pattern = "\\.tsv$")
# 初始化一个空的列表,用于存储每个文件的行内容
output_list <- list()
# 遍历每个tsv文件,读取第一列内容,并添加到output_list中
for(file in tsv_files) {
# 读取tsv文件
data <- read_tsv(file, col_names = TRUE)
# 提取第一列内容
first_column <- data[[6]]
# 创建一个向量,将文件名和第一列内容存储在一起
row_content <- c(file, as.character(first_column))
# 将向量添加到output_list中
output_list[[file]] <- row_content
}
# 将output_list转换为data frame
max_length <- max(sapply(output_list, length))
output_data <- data.frame(matrix(ncol = max_length, nrow = length(output_list)))
rownames(output_data) <- names(output_list)
# 填充data frame
for (i in seq_along(output_list)) {
output_data[i, 1:length(output_list[[i]])] <- output_list[[i]]
}
# 指定输出文件路径
output_path <- "C:\\Users\\Administrator\\Desktop\\pre_result-gene\\output.txt"
# 将output_data写入指定路径的txt文件中
write.table(output_data, output_path, row.names = TRUE, col.names = FALSE, sep = "\t", quote = FALSE)
标签:pre,文件,第一列,tsv,TSV,txt From: https://www.cnblogs.com/wzbzk/p/18344660