【发布时间】:2018-03-10 02:19:33
【问题描述】:
我有一个目录,在我的目录中有多个文件。每个文件都有不同的 csv。例如在我的目录中有 5 个文件(实际情况超过 100 个),每个文件有 10 个 .csv 文件。
我的问题是我想从这些文件中选择不同的列(所有文件的列数相同)并将它们合并并创建一个数据框。
我的数据框看起来像 -
主目录-
File1-
a.csv -
store_code Tran1 Tran2 Tran3
10 5454 7645 7111
10 4154 7675 7000
10 1454 2145 8431
.........
b.csv -
store_code Tran1 Tran2 Tran3
10 5004 6645 7291
10 4109 1675 7000
10 9454 1045 1031
.........
File2-
c.csv -
store_code Tran1 Tran2 Tran3
20 1054 2045 1111
20 2954 3075 7080
20 1454 2145 8431
.........
d.csv -
store_code Tran1 Tran2 Tran3
20 1994 2045 9011
20 2004 3075 8080
20 1004 2145 1031
.........
我已经合并了一个目录中的所有文件。但无法选择多列然后合并。对于这个例子,假设我想选择两列 store_code 和 Tran2 然后合并它们。
出于合并目的,我完成了以下代码 -
i.Main directory set as a working directory where all files are there.
ii.csv_files <- dir(pattern='.*[.]csv', recursive = T)
library(dplyr)
df <- rbind_all(lapply(csv_files, read.csv))
我的预期输出 -
store_code Tran3
10 7111
10 7000
10 1111
.. ----
20 9011
20 8080
【问题讨论】:
-
每个 CSV 文件中有两列标记为
Tran2。是不是打错字了? -
所以你只想从每个文件中读取 2 列然后合并在一起?
-
@Tung - 你是对的..
-
@Maurits - Typo..Tran3
-
您的预期输出没有用。请正确格式化您的代码,并提供基于您的示例数据的预期输出。