for循环到read.csv()几个CSV同时

时间:2018-02-02 15:30:57

标签: r loops csv

我希望循环浏览CSV文件的4个不同文件夹,将它们分配给不同的对象,并在以后的函数中使用所有4个数据框。所有文件夹都具有相同数量的CSV文件(400)。

arr1 = np.array([1,2,3,4])
print arr1.shape
# (4,)

arr2 = arr1.reshape((4,1))
print arr2.shape
# (4, 1)

类似的东西:

arr1 = np.array([1,2,3,4]).reshape((4,1))

我在想那里可能有更优雅的解决方案 -

1 个答案:

答案 0 :(得分:1)

现在您已经设置了一组组合循环,即每个文件将通过ex_function与其他文件(来自各自的文件夹)进行分析。但听起来你想要运行ex_function 400次,即按照它们在目录中的位置分组的每组四个文件。如果这是对所读情况的准确评估,如果没有请澄清。

最简单的方法是遍历一个目录的索引并打开同一索引位置的所有四个文件(这假设牛奶中的文件1需要与cat,oj和cereal的文件1进行比较)。

for (i in seq_along(milk_contents)){
  milk_sheet <- read.csv(paste0(milk_loc,"/",milk_contents[i]),stringasfactors = false)
  cereal_file <- read.csv(paste0(cereal_loc,"/",cereal_contents[i]),stringasfactors = false)
  OJ_cup <- read.csv(paste0(OJ_loc,"/",OJ_contents[i]),stringasfactors = false)
  cat_paw <- read.csv(paste0(cat_loc,"/",cat_contents[i]),stringasfactors = false)
  ex_function(milk_sheet, cereal_file, OJ_cup, cat_paw)
}

这假定每个目录具有完全相同的文件数。