본문 바로가기
STATISTICS PLAYBOOK

통계를 이해하는
가장 빠른 길

R·Python·통계·데이터 분석 자격증까지, 체계적인 학습 자료와 강의는 메인 블로그에서 이어집니다.

R

R CSV 엑셀 불러오기: readr·readxl로 오류 없이 읽는 법

by 슬통이 2026. 9. 13.
반응형

R에서 CSV나 엑셀 파일이 읽히지 않을 때는 함수 옵션을 바꾸기 전에 파일 경로, 인코딩, 시트 이름을 확인해야 합니다. 현재 작업 폴더와 실제 파일 위치부터 비교하면 원인을 하나씩 좁힐 수 있습니다.

CSV는 readr::read_csv(), 엑셀은 readxl::read_excel()로 시작합니다. 불러온 직후 str()names()로 열 자료형과 열 이름까지 확인해야 입력 단계가 끝납니다.

R CSV 엑셀 불러오기: readr·readxl로 오류 없이 읽는 법 대표 이미지

가장 먼저 파일 경로를 확인합니다

getwd()
list.files()
file.exists("data/sales.csv")

file.exists()FALSE라면 읽기 함수의 옵션을 바꾸기 전에 경로부터 고칩니다. 프로젝트 기준의 상대 경로를 쓰면 다른 컴퓨터에서도 코드를 재사용하기 쉽습니다.

R CSV 엑셀 불러오기: readr·readxl로 오류 없이 읽는 법 핵심 정리 1

상대 경로가 어느 위치를 기준으로 해석되는지 헷갈리면 normalizePath("data/sales.csv", mustWork = FALSE)로 R이 보고 있는 경로를 확인합니다. 경로 문자열과 실제 파일 위치를 나란히 비교한 뒤 읽기 함수를 실행합니다.

CSV 파일 불러오기

library(readr)
sales <- read_csv("data/sales.csv")

str(sales)
names(sales)

R CSV 엑셀 불러오기: readr·readxl로 오류 없이 읽는 법 핵심 정리 2

read_csv()는 쉼표로 구분된 파일에 사용합니다. 세미콜론이나 탭으로 구분된 파일이라면 각각 read_csv2() 또는 read_tsv()를 검토합니다.

한글이 깨지면 인코딩을 지정합니다

Windows에서 저장한 오래된 CSV는 UTF-8이 아닐 수 있습니다. 원본 파일의 인코딩을 확인한 뒤 locale()로 명시합니다.

R CSV 엑셀 불러오기: readr·readxl로 오류 없이 읽는 법 핵심 정리 3

sales <- read_csv(
  "data/sales.csv",
  locale = locale(encoding = "CP949")
)

한글 깨짐을 해결하려고 여러 인코딩을 무작정 대입하면 일부 글자만 조용히 손상될 수 있습니다. 가능하면 원본을 UTF-8 CSV로 다시 저장하고 입력 결과를 표본 확인합니다.

엑셀 파일과 시트 불러오기

R CSV 엑셀 불러오기: readr·readxl로 오류 없이 읽는 법 핵심 정리 4

library(readxl)

excel_sheets("data/sales.xlsx")
sales_xlsx <- read_excel("data/sales.xlsx", sheet = "2026매출")

시트 이름에는 공백이 포함될 수 있으므로 화면에 보이는 이름을 정확히 사용합니다. 첫 행이 제목이 아니라면 skip, 열 이름이 없다면 col_names 옵션을 조정합니다.

숫자가 문자로 읽힐 때

R CSV 엑셀 불러오기: readr·readxl로 오류 없이 읽는 법 핵심 정리 5

한 열 안에 쉼표가 포함된 숫자, -, 미정 같은 값이 섞이면 문자형으로 추정될 수 있습니다. 먼저 문제 값을 확인한 뒤 정리하고 변환해야 합니다.

problems(sales)
sales$amount <- parse_number(sales$amount)

problems()는 앞에서 read_csv()로 읽은 sales 객체의 파싱 문제를 확인하는 함수입니다. sales_xlsx처럼 read_excel()로 읽은 객체에는 같은 방식으로 적용하지 않습니다.

R CSV 엑셀 불러오기: readr·readxl로 오류 없이 읽는 법 핵심 정리 6

빈 셀과 결측값 처리

빈 셀 외에 NA, N/A, 미입력을 결측값으로 쓰는 파일도 있습니다. 읽을 때 na 옵션으로 규칙을 명시하면 이후 요약 결과가 일관됩니다.

sales <- read_csv("data/sales.csv", na = c("", "NA", "미입력"))

R CSV 엑셀 불러오기: readr·readxl로 오류 없이 읽는 법 핵심 정리 7

입력 직후 점검할 네 가지

  • dim()으로 행과 열의 수를 확인합니다.
  • names()로 열 이름이 밀리지 않았는지 봅니다.
  • str()로 숫자·문자·날짜형을 확인합니다.
  • head()로 원본의 첫 행과 비교합니다.

인코딩이나 시트 옵션에서 막히면 R 엑셀·CSV 파일 불러오기 가이드의 해당 예제와 자신의 입력값을 나란히 놓고 비교하면 됩니다.

반응형

당신이 좋아할 만한 콘텐츠

댓글