노션 CSV 가져오기 중 한글이 깨지거나 날짜가 비어 있다면 파일의 인코딩, 헤더, 날짜 형식부터 확인해야 합니다.
파일을 다시 저장해 가져오면 해결될 것 같지만, 원인을 확인하지 않고 반복하면 같은 문제가 발생할 수 있습니다.
특히 기존 노션 데이터베이스에 CSV 파일을 다시 병합할 때는 주의해야 합니다.
같은 기록이 이미 있으니 새로운 값으로 업데이트될 것이라고 생각하기 쉽지만, 실제로는 중복된 행이 추가될 수 있기 때문입니다.
이번 글에서는 노션 무료 플랜으로 CSV 파일을 직접 가져오고, 다음 문제를 재현해 해결 방법을 확인했습니다.
- CSV 파일을 노션 데이터베이스로 가져오는 방법
- 한글이 깨졌을 때 인코딩을 확인하는 방법
- 날짜가 빈값으로 들어오는 문제
- 쉼표와 줄바꿈이 포함된 데이터 처리
- CSV 헤더가 없는 경우
- 기존 데이터베이스에 CSV를 병합할 때 발생하는 중복
- 가져오기 후 데이터가 정상인지 확인하는 방법
정상 CSV와 문제가 있는 CSV를 따로 준비해 비교했습니다.
이번 테스트에서는 총 13개 검증 항목을 확인했습니다. 오류가 발생한 사례도 결과를 그대로 기록했습니다.
휴대전화에서는 넓은 표를 좌우로 밀어 확인할 수 있습니다. 화면 속 글자가 작다면 이미지를 눌러 크게 열어 보세요.
1. 노션 CSV 가져오기 전에 확인할 3가지
CSV 파일을 가져오기 전에 가장 먼저 확인할 부분은 파일 형식, 헤더, 날짜입니다.
첫 번째: 파일 인코딩
CSV는 쉼표로 구분된 텍스트 파일입니다.
파일 확장자가 .csv라고 해서 모든 파일의 문자 인코딩이 같은 것은 아닙니다.
이번 실습에서는 다음 세 가지 파일을 비교했습니다.
- UTF-8
- UTF-8 BOM
- CP949
UTF-8과 UTF-8 BOM 파일은 한글이 정상적으로 들어왔습니다.
반면 CP949 파일은 데이터베이스가 생성됐지만 한글이 깨졌습니다.
따라서 한글이 깨진다면 먼저 파일의 인코딩부터 확인하는 것이 좋습니다.
두 번째: 첫 번째 행의 열 이름
CSV의 첫 번째 행에는 각 열의 이름을 넣는 것이 좋습니다.
예를 들어 다음과 같은 형식입니다.
| 기록명 | 식별코드 | 날짜 | 단계 | 수량 |
|---|---|---|---|---|
| 한글 정리 | K01 | 10/11/2026 | 준비 | 2 |
| 문서 검토 | K02 | 10/12/2026 | 검토 | 3 |
첫 번째 행에 열 이름이 없으면 실제 데이터가 헤더로 처리될 수 있습니다.
이번 실습에서도 이 문제를 확인했습니다.
세 번째: 날짜 표기
날짜는 노션이 인식할 수 있는 형식으로 작성해야 합니다.
이번 실습에서는 10/16/2026처럼 월·일·연도 순서로 작성한 날짜가 정상적으로 인식됐습니다.
반면 10.19.2026이라는 점 표기는 이번 환경에서 날짜로 인식되지 않았습니다.
이처럼 가져오기 전에 날짜 표기까지 확인하면 재작업을 줄이는 데 도움이 됩니다.
2. CSV 파일을 노션으로 가져오는 방법
먼저 정상적인 CSV 파일을 가져오는 과정부터 살펴보겠습니다.
이번 실습은 노션 무료 플랜의 한국어 웹 환경에서 진행했습니다.
① 새 페이지 만들기
노션에서 새로운 개인 페이지를 만듭니다.
이번 실습에서는 다음 이름을 사용했습니다.
차근툴 실습 — CSV 가져오기와 오류 점검
새 페이지를 사용한 이유는 기존 데이터베이스에 영향을 주지 않고 가져오기 결과를 확인하기 위해서입니다.
이미 중요한 자료를 관리하고 있다면 처음부터 기존 DB에 병합하기보다 별도의 실험용 페이지를 사용하는 것이 좋겠습니다.
② CSV 가져오기 메뉴 열기
빈 페이지에서 /csv를 입력합니다.
나타나는 메뉴에서 다음 항목을 선택합니다.
CSV · 가져오기
그다음 파일 선택을 눌러 준비한 CSV 파일을 지정합니다.
이번에는 UTF-8로 저장한 01-baseline-utf8.csv 파일을 사용했습니다.
파일을 선택한 다음 새 데이터베이스 생성하기를 선택했습니다.
가져온 데이터베이스는 실습 페이지 아래에 전체 페이지 형태로 생성됐습니다.
③ CSV 열과 노션 속성 연결하기
CSV 파일을 선택하면 열을 어떤 속성 유형으로 가져올지 지정할 수 있습니다.
실제로 사용한 메뉴는 다음과 같습니다.
CSV 헤더 매핑 → CSV 열 설정
이번 파일에는 다음 일곱 개 열이 있었습니다.
| CSV 열 | 노션 속성 유형 |
|---|---|
| 기록명 | 제목 |
| 식별코드 | 텍스트 |
| 날짜 | 날짜 |
| 단계 | 선택 |
| 수량 | 숫자 |
| 완료 | 체크박스 |
| 메모 | 텍스트 |

여기서 주의할 부분은 자동으로 추정된 속성 유형입니다.
이번 실습에서 ‘단계’ 열은 처음에 텍스트로 추정됐습니다.
하지만 준비·검토·작업처럼 정해진 옵션을 선택하는 용도로 사용하려고 했기 때문에 직접 ‘선택’ 속성으로 변경했습니다.
반면 완료 열은 소문자 true와 false를 체크박스로 지정했을 때 정상적으로 변환됐습니다.
CSV 파일을 가져오기 전에 각 열의 속성 유형을 직접 확인하는 것이 좋습니다.
④ CSV 가져오기 실행하기
열 매핑을 확인했다면 CSV 가져오기를 누릅니다.
가져오기가 끝나면 생성된 데이터베이스를 엽니다.
이번에는 이름을 CSV 정상 가져오기로 지정했습니다.
파일을 가져왔다는 사실만으로 작업이 끝난 것은 아닙니다.
실제 데이터가 정확하게 들어왔는지 확인해야 합니다.
3. CSV를 가져온 뒤 데이터가 맞는지 확인하기
이번에 가져온 정상 CSV에는 다섯 개의 기록이 있었습니다.
| 식별코드 | 기록명 | 날짜 | 단계 | 수량 | 완료 |
|---|---|---|---|---|---|
| K01 | 한글 정리 | 10월 11일 | 준비 | 2 | 미완료 |
| K02 | 문서 검토 | 10월 12일 | 검토 | 3 | 완료 |
| K03 | 자료 분류 | 10월 13일 | 작업 | 5 | 미완료 |
| K04 | 회의 준비 | 없음 | 아이디어 | 0 | 미완료 |
| K05 | 여행 기록 | 10월 15일 | 완료 | 4 | 완료 |
날짜는 모두 2026년 기준입니다.
가져온 뒤 실제로 확인한 결과는 다음과 같습니다.
| 확인 항목 | 결과 |
|---|---|
| 전체 기록 | 5개 |
| 정상 한글 기록명 | 5개 |
| 날짜 입력 | 4개 |
| 날짜 빈값 | 1개 |
| 수량 합계 | 14 |
| 완료 체크 | 2개 |
| 미완료 | 3개 |

숫자 합계 확인하기
수량 열에는 2, 3, 5, 0, 4가 입력돼 있었습니다.
합계는 14입니다.
이번 실습에서는 노션 표의 수량 열에서 다음 메뉴를 사용했습니다.
계산 → 추가 옵션 → 합계
표 하단에 실제로 14가 표시되는 것을 확인했습니다.
이 결과는 가져온 숫자값을 수동으로 수정해서 만든 것이 아닙니다.
CSV의 숫자값이 정상적으로 변환된 상태에서 합계를 계산한 결과입니다.
체크박스도 정상적으로 들어왔을까?
완료 속성도 확인했습니다.
K02와 K05에만 체크가 표시됐습니다.
나머지 세 기록은 체크되지 않은 상태였습니다.
이번 파일에 사용한 true와 false 값은 가져오기 과정에서 정상적으로 처리됐습니다.
다만 다른 체크박스 표기 방식도 모두 동일하게 작동한다고 일반화할 수는 없습니다.
이번에 검증한 것은 소문자 true와 false를 사용한 사례입니다.
4. 노션 CSV 한글 깨짐: CP949와 UTF-8 비교
이번 실습에서 가장 명확하게 재현된 오류입니다.
같은 한글 데이터를 세 가지 인코딩으로 저장한 뒤 각각 별도의 노션 데이터베이스에 가져왔습니다.
인코딩별 실제 결과
| 인코딩 | 가져오기 | 한글 표시 |
|---|---|---|
| UTF-8 | 성공 | 정상 |
| UTF-8 BOM | 성공 | 정상 |
| CP949 | 5행 생성 | 한글 깨짐 |
UTF-8과 UTF-8 BOM은 모두 다섯 개의 한글 기록이 정상적으로 표시됐습니다.
따라서 이번 결과만 놓고 보면 UTF-8 파일에 반드시 BOM이 있어야 하는 것은 아니었습니다.
반면 CP949 파일에서는 다른 결과가 나타났습니다.
CP949 파일을 가져왔을 때
CP949 파일도 업로드 자체는 진행됐습니다.
데이터베이스에 다섯 개의 행이 생성됐습니다.
그러나 다음 정보에서 한글 깨짐이 발생했습니다.
- 열 이름
- 기록명
- 선택 속성의 한글 값
- 메모의 한글 문장

흥미로운 점은 모든 값이 사라진 것은 아니라는 사실입니다.
K01~K05 같은 영문·숫자 식별코드와 수량, 날짜는 남아 있었습니다.
즉, 행이 정상적으로 생성됐더라도 한글 데이터가 올바르게 들어왔다고 볼 수는 없습니다.
한글 깨짐 해결: UTF-8로 변환하기
이번에는 CP949 원본 파일을 원래 인코딩으로 정확하게 읽은 뒤 UTF-8로 변환했습니다.
변환한 파일 이름은 다음과 같습니다.
07-converted-utf8.csv
이 파일을 새로운 데이터베이스로 다시 가져왔습니다.
결과는 정상적이었습니다.
한글 기록 다섯 개가 모두 올바르게 표시됐습니다.

이번 실습에서는 변환 전 원본 문자열도 비교했습니다.
변환된 UTF-8 파일은 정상 기준 CSV와 SHA-256 해시값까지 일치했습니다.
즉, 이번에 사용한 통제된 예제에서는 같은 원문이 유지된 것을 확인했습니다.
이미 한글이 깨진 파일도 복구할 수 있을까?
여기서 중요한 차이가 있습니다.
이번에는 원래 한글 문자열을 보존한 CP949 파일을 정확하게 읽어서 변환했습니다.
이미 잘못 저장되어 원문 자체가 손실된 파일을 복구한 것은 아닙니다.
따라서 한글이 깨진 상태로 덮어 저장한 파일도 UTF-8로 바꾸기만 하면 원상복구된다고 말할 수는 없습니다.
문제가 발생했다면 원본 파일을 보존하고, 원래 인코딩으로 읽을 수 있는지 먼저 확인해야 합니다.
5. 노션 CSV 날짜 오류: 어떤 형식이 정상적으로 들어올까?
CSV를 가져올 때 날짜가 잘못 인식되는 문제도 확인했습니다.
이번에는 여섯 가지 날짜 사례를 준비했습니다.
모두 같은 노션 날짜 속성으로 가져왔습니다.
실제 날짜 형식 테스트
| ID | CSV에 입력한 값 | 노션에서 확인한 결과 |
|---|---|---|
| D01 | 10/16/2026 | 2026-10-16 |
| D02 | 2026-10-17 | 2026-10-17 |
| D03 | 2026/10/18 | 2026-10-18 |
| D04 | 10.19.2026 | 빈값 |
| D05 | 빈값 | 빈값 |
| D06 | 2026-13-40 | 빈값 |

이번 환경에서는 세 가지 날짜 형식이 정상적으로 인식됐습니다.
10/16/2026, 2026-10-17, 2026/10/18입니다.
반면 10.19.2026은 날짜 속성에 빈값으로 들어왔습니다.
2026-13-40 역시 빈값이 됐습니다.
2026년에는 13월이 없으므로 유효하지 않은 날짜입니다.
중요한 점은 날짜가 잘못된 행도 데이터베이스에는 생성됐다는 사실입니다.
여섯 개의 행은 모두 생성됐지만, 날짜 속성에는 정상 날짜 세 개와 빈값 세 개가 남았습니다.
따라서 가져오기 후 전체 행 수가 맞더라도 날짜까지 정확한지는 따로 확인해야 합니다.
점 표기 날짜를 수정해 다시 가져오기
이번에는 D04의 날짜를 수정했습니다.
기존 값:
10.19.2026
수정한 값:
10/19/2026
별도의 CSV 파일로 저장한 뒤 다시 가져왔습니다.
그 결과 노션 날짜 속성에 2026년 10월 19일이 정상적으로 입력됐습니다.

하지만 유효하지 않은 D06 날짜까지 복구된 것은 아닙니다.
D06은 실제 날짜를 알 수 없었기 때문에 빈값으로 유지하고 설명을 남겼습니다.
날짜가 비어 있다면 확인할 것
CSV 날짜를 가져왔는데 노션에서 빈값으로 보인다면 다음을 확인하는 것이 좋겠습니다.
- 해당 열이 실제로 ‘날짜’ 속성인지
- 원본 파일의 날짜 표기가 일관적인지
- 존재하지 않는 날짜가 입력되어 있지는 않은지
- 수정한 CSV를 새 데이터베이스로 가져왔을 때 정상 인식되는지
이번 실습에서는 날짜 표기를 수정한 새 파일로 다시 가져오는 방법을 확인했습니다.
기존 데이터베이스에 들어간 잘못된 날짜를 일괄 변환하는 기능은 테스트하지 않았습니다.
6. 쉼표와 줄바꿈이 있으면 CSV가 잘못 나뉠까?
CSV라는 이름 때문에 데이터 안에 쉼표가 있으면 다른 열로 분리될 것이라고 생각할 수 있습니다.
하지만 CSV 규격에 맞게 인용부호를 사용한 경우에는 쉼표를 하나의 셀 안에 넣을 수 있습니다.
이번 실습에서는 실제 메모 데이터를 이용해 확인했습니다.
쉼표가 포함된 메모
K01의 메모는 다음과 같았습니다.
“자료 정리, 검토 예정”
CSV에서 해당 셀을 인용부호로 감싸 저장했습니다.
노션으로 가져온 뒤 확인한 결과 쉼표 뒤 문장까지 하나의 메모에 남아 있었습니다.
줄바꿈이 포함된 메모
K02에는 다음처럼 두 줄로 된 문장을 입력했습니다.
첫 번째 줄
두 번째 줄
CSV 파일에서 하나의 셀 내부에 실제 줄바꿈 문자를 포함한 사례입니다.
노션에서 해당 메모를 열었을 때 두 줄이 유지되는 것을 확인했습니다.

이번 정상 CSV에서는 쉼표나 줄바꿈 때문에 행이 잘못 분리되는 문제가 발생하지 않았습니다.
그러나 모든 쉼표 값이 문제없이 들어온 것은 아닙니다.
7. 쉼표가 포함된 ‘선택’ 값은 다른 결과가 나왔다
이번에는 일반 텍스트가 아니라 선택 속성에 쉼표가 포함된 값을 넣어 봤습니다.
테스트에 사용한 값은 다음과 같습니다.
기획, 검토
이 값을 ‘선택’ 유형으로 지정해 CSV를 가져왔습니다.
그 결과 오류가 발생했습니다.
노션에 표시된 메시지는 다음과 같았습니다.
가져오기에 실패했습니다.
이미 존재하는 옵션입니다.

이것은 이번 환경에서 실제로 확인한 결과입니다.
다만 내부적으로 어떤 과정에서 중복 옵션 충돌이 발생했는지는 확인하지 못했습니다.
모든 쉼표 포함 선택 값이 반드시 같은 오류를 발생시킨다고 일반화할 수는 없습니다.
텍스트 속성으로 변경해서 재시험
같은 CSV를 이번에는 ‘선택’이 아닌 ‘텍스트’ 속성으로 지정했습니다.
그 결과 다음 문구가 하나의 셀에 그대로 들어왔습니다.
기획, 검토

이 결과를 통해 일반 텍스트의 쉼표 처리와 선택 옵션 처리의 결과가 서로 다를 수 있다는 점을 확인했습니다.
여러 단어가 들어 있는 분류 값을 CSV로 옮길 때 가져오기 오류가 발생한다면, 우선 텍스트 속성으로 원문을 보존한 뒤 필요한 분류 구조를 별도로 정리하는 방법을 고려할 수 있습니다.
다만 텍스트로 가져온 값을 선택 속성으로 다시 변경하는 전체 과정까지 이번에 검증한 것은 아닙니다.
8. CSV 첫 번째 행에 헤더가 없으면 어떻게 될까?
이번에는 열 이름을 넣지 않은 CSV 파일을 가져왔습니다.
원래 데이터는 K01부터 K05까지 다섯 개였습니다.
가져오기 화면에서는 기본적으로 다음 설정이 켜져 있었습니다.
첫 번째 행을 헤더로 사용
그런데 실제 파일의 첫 번째 행은 열 이름이 아니라 K01 데이터였습니다.
실제 가져오기 결과
노션에서는 첫 번째 K01 데이터를 열 이름으로 사용했습니다.
결과적으로 데이터베이스에는 K02부터 K05까지 네 개의 행만 만들어졌습니다.

CSV 원본에는 다섯 개의 기록이 있었지만 노션에 데이터 행으로 들어온 것은 네 개였습니다.
가져오기 자체가 완료됐다는 이유로 정상이라고 판단하면 놓치기 쉬운 문제입니다.
헤더를 추가한 뒤 다시 가져오기
이번에는 파일의 맨 위에 올바른 열 이름을 추가했습니다.
기록명, 식별코드, 날짜, 단계, 수량, 완료, 메모의 일곱 열입니다.
수정한 파일을 별도의 데이터베이스에 다시 가져왔습니다.
그 결과 K01부터 K05까지 다섯 개가 정상적으로 생성됐습니다.

따라서 CSV를 가져올 때는 파일의 첫 행과 노션의 헤더 설정을 함께 확인해야 합니다.
이번 테스트는 ‘첫 번째 행을 헤더로 사용’이 켜진 상태에서 수행했습니다.
해당 설정을 끈 경우의 동작은 따로 검증하지 않았습니다.
9. 기존 노션 DB에 CSV를 병합하면 어떻게 될까?
병합을 시험하기 전에 별도 사본이 필요하다면 노션 데이터베이스 복제 방법을 참고하세요. 원본을 공유하는 연결된 보기에서는 시험 입력도 원본 기록에 반영될 수 있습니다.
지금까지는 CSV를 새로운 데이터베이스로 가져왔습니다.
이번에는 이미 데이터가 있는 데이터베이스에 CSV를 병합해 보겠습니다.
이 부분은 기존 기록을 유지해야 하는 사용자라면 특히 주의할 필요가 있습니다.
병합 전 데이터
먼저 별도의 ‘CSV 병합 테스트’ 데이터베이스를 만들었습니다.
기존 데이터는 K01부터 K05까지 다섯 개였습니다.
그중 K03은 다음과 같은 상태였습니다.
| 속성 | 기존 K03 |
|---|---|
| 식별코드 | K03 |
| 기록명 | 자료 분류 |
| 수량 | 5 |
| 단계 | 작업 |
이제 새로운 CSV 파일을 준비합니다.
파일에는 다음 두 기록이 있습니다.
| 식별코드 | 기록명 | 수량 | 단계 |
|---|---|---|---|
| K03 | 자료 분류 | 99 | 완료 |
| K06 | 추가 기록 | 1 | 아이디어 |
K03은 기존 데이터베이스에도 있는 식별코드입니다.
다만 수량과 단계가 다릅니다.
이 파일을 병합하면 기존 K03이 수량 99와 완료 상태로 바뀔까요?
기존 데이터베이스에서 CSV 병합하기
이번 실습에서는 전체 페이지 데이터베이스의 상단 메뉴를 사용했습니다.
작업 → CSV와 병합

병합할 CSV 파일을 선택한 뒤 기존 데이터베이스의 속성과 각 CSV 열을 연결합니다.
이번에는 같은 이름의 기존 속성에 데이터를 매핑했습니다.
이후 CSV 가져오기를 실행했습니다.
병합이 끝난 뒤 실제 표를 확인했습니다.
병합 결과: 5행에서 7행으로 증가
결과는 다음과 같았습니다.
기존 다섯 행은 유지됐고, CSV에서 가져온 두 행이 추가됐습니다.
전체 행 수는 다섯 개에서 일곱 개로 증가했습니다.
특히 K03이 두 개 존재했습니다.
| 구분 | 식별코드 | 수량 | 단계 |
|---|---|---|---|
| 기존 기록 | K03 | 5 | 작업 |
| 새로 추가된 기록 | K03 | 99 | 완료 |

기존 K03이 수량 99로 업데이트된 것이 아닙니다.
동일한 식별코드를 가진 새로운 행이 추가된 것입니다.
K06 역시 새 기록으로 추가됐습니다.
기존 K01·K02·K04·K05도 그대로 유지됐습니다.
이번 실습의 식별코드는 일반 텍스트 속성이었습니다.
따라서 같은 K03이라는 값이 들어 있다고 노션이 자동으로 중복을 막아 주지는 않았습니다.
CSV 가져오기와 데이터 업데이트는 다르다
CSV 병합은 기존 데이터베이스에 데이터를 추가하는 작업입니다.
같은 이름이나 식별코드가 있다는 이유만으로 기존 기록을 찾아 값을 교체하는 작업이라고 생각해서는 안 됩니다.
이번 검증 결과는 노션의 공식 CSV 병합 설명과도 일치했습니다.
중요한 데이터베이스라면 병합하기 전에 원본을 보존하고, 동일한 CSV를 다시 병합해도 괜찮은지 먼저 확인하는 것이 좋겠습니다.
10. CSV 병합으로 생긴 중복 데이터 정리하기
이번에는 병합 과정에서 추가된 기록만 정리했습니다.
먼저 K03 두 행의 수량과 단계, 날짜와 메모를 비교했습니다.
기존 K03은 수량 5와 작업 상태를 유지하고 있었습니다.
새 K03은 수량 99와 완료 상태였습니다.
실습에서는 새로 추가된 K03을 선택한 뒤 다음 메뉴를 사용했습니다.
휴지통으로 이동 Del
그다음 신규 K06도 휴지통으로 이동했습니다.

정리를 마치자 전체 행 수가 다시 다섯 개가 됐습니다.
원래 K03의 수량 5와 작업 상태도 유지됐습니다.
이후 새로고침을 수행해 같은 값이 남아 있는지 확인했습니다.
이번 테스트에서는 추가된 행만 휴지통으로 이동했으며 영구 삭제는 하지 않았습니다.
실제 데이터를 정리할 때 주의할 점
식별코드나 제목이 같다고 무조건 중복으로 삭제해서는 안 됩니다.
이름이 같더라도 서로 다른 기록일 수 있기 때문입니다.
특히 이번처럼 병합한 파일과 기존 데이터의 값이 다르다면 수량, 날짜, 단계, 메모까지 확인한 뒤 어떤 기록을 유지할지 결정해야 합니다.
중복 정리는 삭제할 행을 정확하게 구분하는 작업부터 시작해야 합니다.
11. CSV로 가져오면 노션의 수식과 관계형도 복원될까?
이번 CSV 테스트에서는 기본 속성들을 가져왔습니다.
제목, 텍스트, 날짜, 선택, 숫자, 체크박스가 대표적입니다.
반면 새 데이터베이스의 CSV 열 매핑 목록에서는 다음 세 유형을 확인하지 못했습니다.
- 수식
- 관계형
- 롤업
노션 공식 도움말에서도 새로운 CSV를 가져오는 것과 이러한 속성을 직접 구성하는 작업을 구분하고 있습니다.
예를 들어 기존 노션 가계부의 수식 결과를 CSV로 내보냈다고 해서, 파일을 다시 가져왔을 때 원래 수식이나 다른 데이터베이스와의 연결이 자동으로 완전히 복원된다고 생각해서는 안 됩니다.
이번 실습에서는 기존 관계형 속성에 CSV 열을 매핑하거나, CSV 내보내기 후 원래 관계를 복원하는 동작까지 테스트하지 않았습니다.
따라서 CSV 데이터 이전과 노션 데이터베이스 구조 복원은 구분해야 합니다.
기본 데이터가 정상적으로 들어왔다면 이후 필요한 수식과 관계형을 별도로 구성할 수 있습니다. 다만 해당 작업은 이번 CSV 실습의 검증 범위에 포함되지 않습니다.
12. 노션 CSV 가져오기 문제별 해결 방법 정리
지금까지의 결과를 실제 문제별로 정리하면 다음과 같습니다.
| 발생한 문제 | 이번 실습에서 확인한 해결 방향 |
|---|---|
| 한글이 깨짐 | 원본 인코딩을 확인하고 UTF-8로 변환해 재가져오기 |
| BOM이 없어서 걱정됨 | 이번 UTF-8 파일은 BOM 없이도 정상 |
| 날짜가 빈값으로 들어옴 | 원본 날짜 표기와 유효성을 점검한 뒤 수정본 재가져오기 |
| 쉼표가 있는 메모 | 정상 CSV 인용부호 규칙으로 원문 보존 |
| 쉼표가 있는 선택 값 오류 | 텍스트 속성으로 원문 가져오기 확인 |
| 첫 번째 기록이 보이지 않음 | 첫 행과 헤더 사용 설정 확인 |
| 병합 후 같은 기록이 두 개 | 기존 업데이트가 아닌 신규 행 추가 여부 점검 |
| 가져온 뒤 행 개수가 맞지 않음 | 원본 행 수와 헤더·병합 결과 비교 |
| 체크박스 값이 이상함 | 원본 값과 체크박스 속성 매핑 확인 |
| 수식·관계형이 없음 | 기본 CSV 데이터와 별도 노션 속성 구성 구분 |
모든 문제에 하나의 해결 방법이 적용되는 것은 아닙니다.
이번에 정상적으로 복원된 것은 원본 문자열과 날짜를 확인할 수 있었던 통제된 예제입니다.
원본 데이터 자체가 손실됐거나 실제 날짜를 알 수 없는 경우에는 파일 형식만 바꿔 해결할 수 있다고 보장할 수 없습니다.
13. 실제 제작·검증 결과
이번 테스트는 노션 무료 플랜의 1인 워크스페이스에서 진행했습니다.
가상의 한글 데이터와 숫자, 날짜를 포함한 CSV를 여러 인코딩과 형식으로 준비했습니다.
기존 데이터베이스에 병합하는 테스트도 별도로 진행했습니다.
검증 항목은 총 13개였습니다.
13개 항목 모두 실제 현상을 확인했습니다.
다만 이는 모든 CSV 파일을 정상적으로 가져오는 데 성공했다는 뜻이 아닙니다.
실제로 CP949 파일은 한글이 깨졌고, 일부 날짜는 빈값이 됐으며, 쉼표를 포함한 선택 값은 오류가 발생했습니다.
이러한 실패 결과까지 실제 화면으로 확인했다는 의미입니다.
최종 데이터 상태
| 항목 | 최종 결과 |
|---|---|
| 정상 기준 DB | 5행 유지 |
| 정상 기준 수량 합계 | 14 |
| 정상 기준 완료 체크 | 2개 |
| UTF-8 BOM 비교 DB | 5행 |
| CP949 오류 비교 DB | 한글 깨짐 5행 보존 |
| UTF-8 변환 비교 DB | 정상 한글 5행 |
| 날짜 비교 DB | 6행 |
| 날짜 수정 비교 DB | 6행 |
| 헤더 누락 비교 DB | 4행 |
| 헤더 수정 비교 DB | 5행 |
| 병합 테스트 DB | 7행 확인 후 5행 복원 |
기준 데이터베이스의 원본 값은 수정하지 않았습니다.
중복 정리도 별도 실험용 데이터베이스에서만 수행했습니다.
페이지를 새로고침한 후에도 정상 기준 데이터베이스 5행과 병합 복원 데이터베이스 5행이 유지되는 것을 확인했습니다.
이번 실습에서 확인하지 않은 사항
실제 Microsoft Excel 앱의 CSV 저장 메뉴는 시험하지 않았습니다.
또한 실제 모바일에서의 가져오기, 대용량 CSV, 무료 플랜의 파일 크기 한도, 관계형 복원, 통화기호와 음수의 변환은 이번 테스트에 포함되지 않았습니다.
따라서 이번 글의 결과는 소형 CSV 파일을 한국어 노션 웹에서 가져온 실습 범위에 한정됩니다.
마무리
노션으로 CSV를 가져올 때 가장 중요한 것은 파일이 업로드됐다는 사실보다 원본 데이터가 정확하게 옮겨졌는지 확인하는 것입니다.
이번 실습에서는 정상 UTF-8 파일의 한글과 날짜, 숫자, 체크박스가 그대로 유지되는 것을 확인했습니다.
반면 CP949 파일은 행이 생성됐지만 한글이 깨졌습니다.
날짜도 형식에 따라 빈값으로 들어올 수 있었고, 헤더가 없는 CSV에서는 첫 번째 데이터가 열 이름으로 사용되는 문제를 확인했습니다.
특히 기존 노션 데이터베이스에 같은 식별코드를 가진 CSV를 병합했을 때는 기존 기록이 자동으로 수정되지 않았습니다.
대신 새로운 행이 추가되어 중복이 발생했습니다.
따라서 중요한 데이터를 노션으로 옮길 때는 다음 순서를 권장합니다.
원본 보존 → 인코딩·헤더·날짜 확인 → 시험용 DB에 가져오기 → 행과 값 비교 → 기존 DB 병합 여부 결정
이 순서로 확인하면 문제가 생겼을 때 어느 단계에서 데이터가 달라졌는지 비교하기 쉽습니다.
실습 환경 및 참고 자료
- 실습일: 2026년 10월 12일
- 노션 요금제: 무료
- 워크스페이스 멤버: 1명
- 노션 환경: 한국어 웹
- 운영체제: macOS 15.7.4
- 브라우저: Chrome 155.0.8059.39
- 시간대: Asia/Seoul
- 공유 상태: 비공개·미게시
본문의 모든 기록은 테스트를 위해 만든 가상 데이터입니다.
실제 개인정보나 업무 자료를 가져오지 않았습니다.
노션 공식 도움말
함께 보면 좋은 노션 실습
노션 월별 가계부 만들기 — 거래일·구분·금액을 사용하는 기록장 구조를 살펴보세요.
노션 독서 기록장 만들기 — 책별 진행률과 완독일을 기록할 속성을 구성하는 예제입니다.