我有300个*.csv文件,其格式与below.File名称相同,不同的索引从1开始到300个(例如myarray.1.csvmyarray.2.csv ....myarray.300.csv):
-124.5 -123.5 -122.5 -121.5 -120.5 -119.5 -118.5
31.5 0 0 0 0 0 0 0
32.5 0 0 0 0 0 0 0
33.5 0 0 0 0 0 0 0
34.5 0 0 0 0 0 1.1 5980.4
35.5 0 0 0 0 0 0 41
36.5 0 0 0 0.1 0 0 56
37.5 0 0 0 0 0 2.4 0
38.5 0 0 1 0 0.3 0.3 0
39.5 0 0 0 0 4.1 0.1 0标题是经度,第一列是纬度,其他数组是对应值。
我想使用“for-循环”和"write.csv“逐个读取它们,并将它们转换为一个矩阵,这样它就会丢弃头和第一列,所以我的值就在末尾了。我使用了这个命令,但它似乎不起作用:
setwd("C:/Users/WF")
for ( i in 1:300) {
file_new_name <- myarray
file_new_name <- paste(file_new_name,i,sep=".")
file_new_name <- paste(file_new_name,".csv",sep="")
file_read <- read.csv(file_new_name,header=TRUE)
}发布于 2013-10-21 17:59:55
在我看来,这样的模式效果最好,在风格上也非常类似于R:
list_of_files = list.files("c:/User/WF", pattern = '*csv')
list_of_csv = lapply(list_of_files, read.csv)
big_object = do.call('rbind', list_of_csv)我假设您想要读取的所有CSV文件都在c:/User/WF中。
你必须自己填写细节,但这应该会让你开始。
https://stackoverflow.com/questions/19501040
复制相似问题