R

여러 개의 sheets 데이터를 하나로 합치기

이부일 2018. 9. 9. 23:15

하나의 엑셀 파일에는 여러 개의 시트를 가질 수 있다. 동일한 형태(format)로 된 여러 개의 시트(sheet)에 있는 데이터를 읽어와서 하나로 합치는 방법은 다음과 같다.

install.packages("openxlsx")
install.packages("data.table")
library(openxlsx)
library(data.table)


# 읽어올 엑셀 파일의 디렉토리와 파일이름 지정하기
excel.name <- "d:/survey.xlsx"


# 시트의 목록을 저장하기
sheets <- openxlsx::getSheetNames(excel.name)


# 여러 개의 시트에 있는 데이터를 합쳐서 리스트로 저장하기
sheets.data <- lapply(sheets, openxlsx::read.xlsx, xlsxFile = excel.name)


# 리스트에 있는 데이터를 하나의 데이터로 합치기
survey <- data.table::rbindlist(sheets.data)