我大约有100个txt文件。我正在尝试从每个文件中提取某些列,然后将其另存为每个txt文件的新csv文件。另外,我想将名称设置为类似于“((原始txt文件的名称)_new.txt”)。
到目前为止,我已经能够一次读取所有文件,但是我不确定如何从这里开始。任何帮助将不胜感激。
data_all=list.files(pattern='.*.txt')
data<-lapply(data_all,read.csv,header=TRUE,sep='\t',skip=9)
答案 0 :(得分:3)
也许您可以使用fread
library(data.table)
data_all=list.files(pattern='.*.txt')
read.certain <- function(x, certain= certain_cols){fread(x), select = certain}
dat <- lapply(data_all,read.certain)
答案 1 :(得分:0)
我会这样做。
Merge1$Namevalue <- ifelse(Merge1$Name %in% Merge1$Name1, Merge1$Name2,
paste("Unknown"),
ifelse(Merge1$Name %in% Merge1$Name3, Merge1$Name2, paste("Unknown"))
然后,选择所需的列。
库(dplyr)
# Merge all CSV files into a single dataframe
# Set the directory
setwd("C:/Users/rshuell/Desktop/input_files")
# Get a list of all the files in the directory
file_list <- list.files()
# Start merging the files in the directory into a single dataframe
for (file in file_list){
# if the merged dataset doesn't exist, create it
if (!exists("dataset")){
dataset <- read.table(file, header=TRUE, sep="\t")
}
# if the merged dataset does exist, append to it
if (exists("dataset")){
temp_dataset <-read.table(file, header=TRUE, sep="\t")
dataset<-rbind(dataset, temp_dataset)
rm(temp_dataset)
}
}
最后,将数据框保存到CSV文件。
df1 %>%
select(X, Y, Z)
Or ....
select(df1, X, Y, Z)