Append multiple csv files into one file using R

前端 未结 4 1404
[愿得一人]
[愿得一人] 2020-12-20 06:54

I Have multiple csv files that i have already read into R. Now I want to append all these into one file. I tried few things but getting different errors. Can anyone please h

4条回答
  •  失恋的感觉
    2020-12-20 07:28

    Sample CSV Files

    Note
    CSV files to be merged here have
    - equal number of columns
    - same column names
    - same order of columns
    - number of rows can be different

    1st csv file abc.csv

    A,B,C,D
    1,2,3,4
    2,3,4,5
    3,4,5,6
    1,1,1,1
    2,2,2,2
    44,44,44,44
    4,4,4,4
    4,4,4,4
    33,33,33,33
    11,1,11,1  
    

    2nd csv file pqr.csv

     A,B,C,D
     1,2,3,40
     2,3,4,50
     3,4,50,60
     4,4,4,4
     5,5,5,5
     6,6,6,6   
    

    List FILENAMES of CSV Files

    Note
    The path below E:/MergeCSV/ has just the files to be merged. No other csv files. So in this path, there are only two csv files, abc.csv and pqr.csv

    ## List filenames to be merged. 
    filenames <- list.files(path="E:/MergeCSV/",pattern="*.csv")
    
    ## Print filenames to be merged
    print(filenames)
    ## [1] "abc.csv" "pqr.csv"
    

    FULL PATH to CSV Files

    ## Full path to csv filenames
    fullpath=file.path("E:/MergeCSV",filenames)
    
    ## Print Full Path to the files
    print(fullpath)
    ## [1] "E:/MergeCSV/abc.csv" "E:/MergeCSV/pqr.csv"
    

    MERGE CSV Files

    ## Merge listed files from the path above
    dataset <- do.call("rbind",lapply(filenames,FUN=function(files){ read.csv(files)}))
    
    ## Print the merged csv dataset, if its large use `head()` function to get glimpse of merged dataset
    dataset
    #     A  B  C  D
    # 1   1  2  3  4
    # 2   2  3  4  5
    # 3   3  4  5  6
    # 4   1  1  1  1
    # 5   2  2  2  2
    # 6  44 44 44 44
    # 7   4  4  4  4
    # 8   4  4  4  4
    # 9  33 33 33 33
    # 10 11  1 11  1
    # 11  1  2  3 40
    # 12  2  3  4 50
    # 13  3  4 50 60
    # 14  4  4  4  4
    # 15  5  5  5  5
    # 16  6  6  6  6
    
    head(dataset)
    #    A  B  C  D
    # 1  1  2  3  4
    # 2  2  3  4  5
    # 3  3  4  5  6
    # 4  1  1  1  1
    # 5  2  2  2  2
    # 6 44 44 44 44
    
    ## Print dimension of merged dataset
    dim(dataset)
    ## [1] 16  4
    

提交回复
热议问题