코딩/R

R 기초 - xlsx, csv 엑셀 파일 불러오기 & 내보내기 -

kaki_ss 2021. 12. 16. 10:19
728x90
반응형

안녕하세요!

오늘은 엑셀 파일인 xlsx, csv 파일을 불러오고 내보내는 것을 해보겠습니다.

R에서는 데이터 분석을 주로 하다 보니 엑셀 파일과 텍스트 파일을 많이 사용합니다.

(물론 R에서도 데이터를 만들 수 있습니다)

 

이럴 때 엑셀 파일을 불러오고 또, 엑셀로 저장하기 위해서는 어떻게 해야 하는지에 대해서 살펴보겠습니다.

 

엑셀의 대표적인 확장자는 xlsx와 csv입니다.

xlsx는 함수를 지원하고 그림 등의 형식을 보존하지만 csv는 ,를 구분자로 하여서 파일을 저장해준다는 차이점이 있습니다.

 

그러면 먼저 R에서 두 개의 확장자로 저장하는 방법부터 알려드릴게요.

반응형
(1) R에서 엑셀 확장자로 저장하기
0) 사전 준비

저장하는 방법을 설명드리기 전에 사전 작업을 해보겠습니다.

두 개의 변수를 만든 후 하나의 데이터 프레임으로 만든 다음 이 데이터 프레임을 엑셀로 만드는 작업을 해보겠습니다.

먼저, 변수를 만들겠습니다.

a<-c(1,2,3,4)
d<-c(1,2,3,"e")

a라는 변수에 1,2,3,4라는 값을 집어넣겠습니다.

그리고 d에 1,2,3, e라는 값을 넣겠습니다.

둘에는 차이점이 존재하는데, a는 변수 안에 들어갈 모든 값이 숫자이기 때문에 모두 숫자로 인식하지만, 

d는 e라는 문자 값을 함께 넣었기 때문에 모든 값을 문자 값으로 인식합니다. 

그 차이는 print()를 해보면 바로 나옵니다.

a를 프린트했을 때는 1 2 3 4로 표시되었지만 d의 경우 "1"과 같이 큰따옴표가 붙었습니다. R에서 따옴표는 문자 값을 뜻합니다.

 

이렇게 만든 두 개의 변수를 하나의 데이터 프레임으로 만들겠습니다. 

new<-data.frame(a,d)

데이터 프레임은 new라는 변수로 넣어줬습니다.

 

프린트를 해서 살펴보면,

표와 비슷한 형태인 데이터 프레임으로 저장이 된 것을 확인할 수 있습니다.

데이터 프레임을 이용해 지금부터 xlsx와 csv로 저장해보겠습니다.

 

1) xlsx로 저장하기

아마 대부분의 엑셀 파일은 xlsx 확장자로 되어 있을 겁니다. xlsx 확장자로 된 엑셀 파일을 불러오기 위해서는 패키지 설치가 필요합니다.

 

혹시 패키지 설치 방법을 모르신다면....

 

R 기초 - 패키지 설치하기 & 불러오기 (install.packages(), library() ) -

안녕하세요! 오늘은 R에서 패키지를 설치하는 방법과 이를 R로 불러오는 방법에 대해서 설명드리겠습니다. 데이터를 불러오는 것에서부터 데이터 전처리하고 분석하고 평가하는 것 등 다양한

sskaki.tistory.com

지난 글을 참고해주세요!

 

xlsx 확장자 파일을 저장하기 위해서는 "writexl"이라는 패키지가 필요합니다. install.packages()와 library()를 이용해서 패키지를 설치하고 불러와줍니다.

install.packages("writexl")
library(writexl)

불러오는 것까지 되었다면 이제는 코드를 입력해서 저장을 해보겠습니다.

write_xlsx라는 코드입니다. 

write_xlsx(변수이름,"저장할엑셀이름.xlsx")

저장할 변수를 먼저 쓰고 그다음에 저장할 파일의 이름을 정해서 " " 안에 적어주면 됩니다.

 

아래의 예시를 통해서 보면,

write_xlsx(new,"newfile.xlsx")

위에서 new에 데이터 프레임을 저장해줬습니다. 그래서 앞에 new라고 입력했고 저는 이 변수를 newfile이라는 이름으로 로 xlsx 파일을 만들고 싶어서 뒤에 "newfile.xlsx"로 입력했습니다.

 

코드를 실행시키면 작업 디렉터리에 

newfile이라는 엑셀 파일이 생성된 것을 확인할 수 있습니다.

300x250
2) csv로 저장하기

 

csv 파일은 기본 패키지를 이용하여 저장이 가능합니다.

코드는 바로 write.csv입니다.

write.csv(변수이름,"저장할파일이름.csv")

앞의 write_xlsx와 입력하는 순서는 같습니다. 

먼저, 변수 이름을 넣고 뒤에 저장할 파일 이름.csv 순서대로 입력하면 됩니다.

 

아래 예시를 통해서 다시 한번 볼게요.

write.csv(new,"newfile.csv")

앞에서 저장한 new라는 데이터를 newfile이라는 이름으로 csv 파일을 만들었습니다. 

코드를 실행시키면

newfile.csv라는 파일이 만들어졌습니다.

 

(2) R에서 엑셀 확장자 파일 불러오기

 

다음은 xlsx, csv 확장자를 R로 불러오는 작업을 해보겠습니다. 

앞에서 한 저장하기는 데이터 분석 등의 작업이 끝난 후에 내보낼 때 주로 쓰이고 엑셀 확장자 파일을 불러오는 작업은 제일 처음에 작업할 데이터를 불러올 때 쓰입니다.

 

1) xlsx 확장자 파일 불러오기

 

먼저 불러올 파일을 바로 xlsx 확장자를 가진 파일입니다. 웬만한 분석을 하기 위한 데이터의 파일 형식은 xlsx입니다. 우리가 많이 이용하는 국가통계포털 사이트에 있는 데이터도 xlsx 아니면 csv입니다. 아무래도 숫자에 관련된 데이터들은 엑셀을 이용해서 정리하는 게 편하니깐요ㅎㅎ

 

아까와 마찬가지로 xlsx 파일은 역시 패키지가 필요합니다. 앞에서는 "writexl" 패키지를 이용해서 xlsx 파일을 불러왔는데 이번에는 "readxl" 패키지를 이용하겠습니다.

install.packages("readxl")
library(readxl)

install.packages()로 readxl 패키지를 설치하고 library()로 패키지를 불러옵니다.

 

xlsx를 불러오기 위해서는 설치된 패키지 안에 있는 read_excel()이라는 코드를 이용해 파일을 불러오면 됩니다.

데이터이름<-read_excel("파일이름.xlsx")

변수에 불러온 데이터를 저장시켜주면 됩니다.

 

약간 여담이지만 데이터를 넣을 변수를 지정하지 않고 그냥 read_excel()만 쓰면 파일이 어떻게 생겼는지 바로 알 수 있지만 우리는 결국 불러온 파일을 활용해야 하기 때문에 데이터를 넣을 변수를 지정해야 합니다.

 

a<-read_excel("newfile.xlsx")

저는 a라는 변수에 newfile.xlsx 파일을 불러오겠습니다. 쉽게 말하면 불러온 데이터를 앞으로 a로 부르겠다는 거죠. 

 

print(a)

a를 프린트해서 데이터를 살펴보겠습니다.

아까 맨 앞에서 저장했던 데이터와 똑같이 잘 불러와졌습니다.

 

2) csv 확장자 파일 불러오기

 

이번에는 csv 확장자 파일을 불러오겠습니다. 앞에서와 마찬가지로 csv 파일은 별도의 패키지 설치가 필요 없습니다. 

사용할 코드는 read.csv()입니다.

데이터이름<-read.csv("파일이름.csv")

read.csv() 안에 불러온 파일이름.csv만 넣어주면 됩니다. 앞의 데이터 이름은 자유롭게 하셔도 되고요.

 

new123<-read.csv("newfile.csv")

앞에서 만들었던 newfile.csv 파일을 new123이라는 이름을 줘서 불러오겠습니다. 한번 데이터를 살펴볼까요?

 

print(new123)

print()를 했는데 앞에서와 다른 결과가 나왔습니다. csv파일을 한번 살펴보면 앞에 열 이름이 같이 기록된 것을 볼 수 있는데 그거에 대한 설정을 안 했기 때문에 그대로 불러와졌습니다.  이런저런 설정을 하면 되긴 하지만..... 귀찮으니 다른 방법을 사용하겠습니다. 

 

우리는 첫 번째 열이 열이름으로 필요가 없다는 거를 확실히 알고 있으니 아예 없애버리면(!) 되는데요. 

방법은 아래와 같습니다.

new123<-read.csv("newfile.csv")[-1]

이 코드를 해석하면 read.csv()를 해서 파일을 불러온 다음 이 데이터의 첫번째 열(1)을 없애고 나머지만 불러오겠다(-)는 뜻입니다. -는 해당 열을 없앤다고 생각하시면 될 것 같습니다. 응용해서 2번째 열을 없애고 싶다면 -1 대신에 -2만 적으면 되겠죠?ㅎㅎ

 

다시 한번 print()를 통해서 데이터를 살펴보겠습니다.

우리가 앞에서 봤던 데이터랑 같은 데이터가 new123에 입력이 되었습니다.

 

여기까지 해서 R에서 xlsx, csv 확장자를 가진 파일을 저장하고 불러오는 방법에 대해서 설명드렸습니다. 정리하고 나니 간단하지만 데이터를 불러와서 작업을 하기 위해서는 꼭 알아야 하는 것이기 때문에 기억하시면 좋을 것 같습니다. 

 

읽으신 분들에게 도움이 되기를 바라며....

오늘 하루도 즐거운 하루 보내세요(❁´◡`❁)

728x90
반응형