Home > Enterprise >  Appending two excel files into one dataframe
Appending two excel files into one dataframe

Time:01-08

I am trying to append two excel files from Excel into R.

I am using the following the code to do so:

rm(list = ls(all.names = TRUE))
library(rio) #this is for the excel appending
library("dplyr") #this is required for filtering and selecting
library(tidyverse)
library(openxlsx)

path1 <- "A:/Users/Desktop/Test1.xlsx"
path2 <- "A:/Users/Desktop/Test2.xlsx"


dat = bind_rows(path1,path2)

Output

> dat = bind_rows(path1,path2)
Error: Argument 1 must have names.
Run `rlang::last_error()` to see where the error occurred

I appreciate that this is more for combining rows together, but can someone help me with combining difference workbooks into one dataframe in R Studio?

CodePudding user response:

bind_rows() works with data frames AFTER they have been loaded into the R environment. Here are you merely trying to "bind" 2 strings of characters together, hence the error. First you need to import the data from Excel, which you could do with something like:

test_df1 <- readxl::read_xlsx(path1)
test_df2 <- readxl::read_xlsx(path2)

and then you should be able to run:

test_df <- bind_rows(test_df1, test_df2)

A quicker way would be to iterate the process using the map function from purrr:

test_df <- map_df(c(path1, path2), readxl::read_xlsx)

CodePudding user response:

If you want to append one under the other, meaning that both excels have the same columns, I would, select the rows I wanted from the first excel, create a dataframe, then the rows from the second excel create a second one and and then append them with rbind().

On the other hand if you want to append the one next to another, I would choose the columns needed from first and second excel into two dataframes respectively and then I would go with cbind()

  •  Tags:  
  • Related