【发布时间】:2019-12-27 11:35:11
【问题描述】:
使用 R,我将 2400 个 .csv 文件编译成一个 csv 文件。每个要合并的 csv 文件有 2 列和 10 行。我的问题是将源 csv file.csv 添加为源参考的第三列。
例如我想结合“File1.csv”和“File2.csv”
文件 1.csv:
Column1 Column2
-6 -9.29E-08
-5.9 -8.71E-08
-5.8 -8.19E-08
-5.7 -7.72E-08
-5.6 -7.25E-08
-5.5 -6.81E-08
-5.4 -6.39E-08
-5.3 -6.01E-08
-5.2 -5.64E-08
-5.1 -5.29E-08
File2.csv:
Column1 Column2
-5 -4.94E-08
-4.9 -4.63E-08
-4.8 -4.33E-08
-4.7 -4.04E-08
-4.6 -3.77E-08
-4.5 -3.50E-08
-4.4 -3.26E-08
-4.3 -3.02E-08
-4.2 -2.79E-08
-4.1 -2.57E-08
预期输出为:
Column1 Column2 Source
-6 -9.29E-08 File1.csv
-5.9 -8.71E-08 File1.csv
-5.8 -8.19E-08 File1.csv
-5.7 -7.72E-08 File1.csv
-5.6 -7.25E-08 File1.csv
-5.5 -6.81E-08 File1.csv
-5.4 -6.39E-08 File1.csv
-5.3 -6.01E-08 File1.csv
-5.2 -5.64E-08 File1.csv
-5.1 -5.29E-08 File1.csv
-5 -4.94E-08 File2.csv
-4.9 -4.63E-08 File2.csv
-4.8 -4.33E-08 File2.csv
-4.7 -4.04E-08 File2.csv
-4.6 -3.77E-08 File2.csv
-4.5 -3.50E-08 File2.csv
-4.4 -3.26E-08 File2.csv
-4.3 -3.02E-08 File2.csv
-4.2 -2.79E-08 File2.csv
-4.1 -2.57E-08 File2.csv
以下是我尝试组合多个 csv 的代码。
library(plyr)
library(readr)
mydir <- "D:Combining_CSV_Files/raw data"
setwd(mydir)
myfiles = list.files(path=mydir,pattern="*.csv",full.names=TRUE)
dat_csv = ldply(myfiles,read.csv)
#dat_csv
write.csv(dat_csv,"combined_data.csv",row.names = FALSE)
【问题讨论】:
-
不是最优雅的解决方案,但如果您确定每个 csv 包含 10 行。
dat_csv$source <- rep( myfiles, each =10)