我有一个csv文件,必须从中复制一些csv文件中的某些行。但是,我只希望第一行具有列名,其余行不应具有任何列名。以下是附带的代码。以下代码为我提供了每一行之前的列名。
for(f in 1:length(file$mismatches)){
if((file$mismatches[f]==0)==T ){
write.table(x=file[f,], append = T, file = paste0('0_mismatches','.csv'),sep=",",col.names=c('organism_name_spacer','organism_spacer_accession_number','organism_spacer_id','organism_name_protospacer','organism_protospacer_accession_number','spacer_sequence','protospacer_sequence','mismatches'),row.names = F)
}
}
答案 0 :(得分:0)
如果所有文件具有相同的列名,并且顺序相同,则可以执行以下操作:
require(tidyverse)
files_to_load <- {list of file paths to load}
df <- data_frame(filename = files_to_load)
df <- df %>%
mutate(data = map(filename, read_csv, [other arguments to read_csv]))
dfs_as_list <- pull(df, data)
dfs_as_single_df <- bind_rows(dfs_as_list)
未尝试过此操作,因为您给出的示例不可复制,因此您需要进行调整。
pull
函数提取数据(列表列)以生成data_frames列表。
bind_rows
接受data_frames列表作为单个输出,并尝试将它们合并。
read_csv
的其他参数可能包含col_types
的参数,以便所有要连接的data_frames中的列类型都一致。