R

R로 다중 파일 불러오기(Excel)

작업을 진행 하다보면 같은 형식의 파일을 묶어야 되는 상황이 생길때가 많이 있습니다.

같은 형식을 묶어 진행하면 일의 처리 속도가 빨라지게 되므로 알아두면 유용할 것 입니다.

1. 파일 형식 파악하기

  • 파일을 불러오기 전에 형식을 알아보자.
1
2
readr::guess_encoding("위치/파일명.csv")
# guess_encoding를 사용하여 불러올 파일의 인코딩형을 알아보기 위해 사용한다.

  • 알아본 파일 형식을 기초로 기본 데이터 불러오기
1
2
ssc_data <- read_csv("위치/파일명.csv", locale = locale("ko", encoding = "EUC-KR"))
# locale은 각 국가별로 지정된 언어, 날짜, 시간 등이 다르게 설정되기 때문에 어떤 방식으로 출력할지 정하기위해 설정 한다. 한국="ko", 뒤에 enconding은 이전 작업으로 알게된 형식을 기입하면 된다.

  • 제대로 파일들을 불러왔는지 확인
1
glimpse(ssc_data)

2. 다중 엑셀 파일 불러오기

  • 파일 목록을 확인
1
2
list.files(path = "위치")
# list.files로 파일들의 형식을 확인해 본다.
  • 다중 파일 묶기
1
2
files <- list.files(path = "위치", pattern = "*.xlsx", full.names = T)
# path로 불러올 파일들의 위치를 지정하고, pattern로 불러올 파일 형식을 지정해 주고 full.names로 파일 디렉토리(폴더)도 포함시킬지 정해준다.

  • 묶은 파일의 목록을 확인
1
2
files[]
# 묶인 파일안에 목록을 확인해본다.

  • 묶은 파일들을 데이터 형식으로 출력
1
2
3
4
products <- sapply(files[2:65], read_excel, simplify=FALSE) %>%
bind_rows(.id = "id")
# files로 형식이 다른 1번을 제외한 나머지 파일을 지정해 주고, simplify를 사용하여 리스트 형식으로 출력한다.
# bind_rows로 파일을 행기준을 합쳐준다
  • 파일이 제대로 생성 된것을 확인한다.
1
glimpse(products)

Share