이 장에서 배우는 것 구조가 있는 데이터와 없는 데이터의 차이, JSON·CSV를 읽는 법, PDF·한글 문서가 왜 손이 더 가는지, 그리고 한글이 깨지는 이유.
| 구조화된 데이터 | 비구조화 데이터 | |
|---|---|---|
| 모양 | 표 · 항목과 값 | 줄글 · 그림 |
| 예 | 데이터베이스, CSV, JSON | 보고서, 메일, 회의록, PDF |
| 기계가 | 바로 계산 | 읽어서 해석해야 |
| 회사에 있는 양 | 적음 | 대부분 |
AI가 회사에서 값어치를 갖는 이유가 맨 아래 줄입니다. 기존 시스템은 구조화된 것만 다뤘고, 회사 자료의 대부분은 줄글입니다. 언어 모델은 그 줄글을 다룹니다.
실습에서 본 글자 뭉치입니다. 규칙은 세 개뿐입니다.
| 기호 | 뜻 |
|---|---|
{ } | 항목 묶음 — "이름: 값"의 모음 |
[ ] | 목록 — 순서대로 여러 개 |
"…" | 글자. 숫자와 true/false 는 따옴표 없이 |
중첩이 됩니다. 위 예에서 manager 의 값이 다시 { } 인 것이 그것입니다.
그래서 표로는 못 담는 모양도 담깁니다.
눈으로 보기 어려우면 에이전트에게 "이 JSON을 표로 정리해줘"라고 하세요. 사람이 괄호를 세는 것보다 빠릅니다.
엑셀 파일과 비슷해 보이지만 다릅니다.
| CSV | 엑셀(.xlsx) | |
|---|---|---|
| 내용 | 글자만 | 서식 · 수식 · 시트 여러 개 |
| 파일 | 텍스트 — 그대로 읽힘 | 바이너리 — 열어야 읽힘 |
| 주고받기 | 어떤 프로그램이든 | 엑셀 계열 |
AI에게 넘길 때는 CSV가 편합니다. 다만 쉼표가 들어간 값("서울, 강남")은
따옴표로 묶어야 하고, 엑셀에서 CSV로 저장하면 수식은 사라지고 결과값만
남습니다.
**굵게** · # 제목 처럼 기호 몇 개로 서식을 표현하는 텍스트입니다.
AI가 만든 문서가 대개 마크다운인 이유는 텍스트라서 그대로 다룰 수 있고, 그러면서도 제목·목록·표의 구조가 살아 있기 때문입니다. 필요하면 나중에 HWPX나 PDF로 바꿉니다(공문서 다루기).
PDF는 인쇄를 위한 형식입니다. "이 글자를 이 좌표에 이 크기로"가 적혀 있을 뿐, 표나 문단의 구조는 안 들어 있는 경우가 많습니다.
graph TD
A["PDF · HWP · 스캔 이미지"] --> B["글자 뽑아내기<br/>추출 · OCR"]
B --> C["텍스트 · 마크다운"]
C --> D["AI가 읽음"]| 원본 | 뽑아내기 난이도 |
|---|---|
| 텍스트로 만든 PDF | 쉬움 — 글자가 들어 있음 |
| 스캔한 PDF·사진 | 어려움 — OCR(그림에서 글자 읽기)이 필요 |
| 표가 많은 문서 | 어려움 — 칸 구조가 무너지기 쉬움 |
"AI가 우리 문서를 못 읽어요"의 상당수가 이 단계 문제입니다. 모델의 이해력 문제가 아니라 글자 텍스트가 애초에 추출되지 못한 것입니다.
글자를 숫자로 바꿔 저장하는 약속을 인코딩이라고 합니다. 저장한 약속과 읽는 약속이 다르면 깨집니다.
전형적인 증상은 이렇습니다.
CSV를 엑셀에서 열었더니 한글이 깨졌다면 파일이 UTF-8인데 엑셀이 CP949로 읽은 것입니다. 파일이 잘못된 것이 아닙니다.
됩니다. 다만 안에서 텍스트로 바꾸는 단계가 한 번 들어가고, 그 과정에서 서식·수식·병합된 칸이 사라집니다. 결과가 이상하면 그 단계를 의심하세요.
주고받고 인쇄하는 데는 표준입니다. 다시 가공하는 데는 최악에 가깝습니다. 원본(엑셀·워드·마크다운)이 있으면 그것을 주는 편이 항상 낫습니다.
1. CSV와 엑셀 파일의 가장 큰 차이는?
CSV는 텍스트, 엑셀은 바이너리입니다. CSV는 그대로 읽히지만 서식·수식·여러 시트를 담지 못합니다.
2. 스캔한 PDF가 텍스트 PDF보다 어려운 이유는?
글자가 아니라 그림이기 때문입니다. OCR로 그림에서 글자를 읽어내는 단계가 먼저 필요합니다.
3. 한글이 ?щ처럼 깨져 보이면 무엇을 의심합니까?
인코딩입니다. UTF-8로 저장된 파일을 CP949로 읽는 등 저장한 약속과 읽는 약속이 어긋난 것입니다.
다음은 구조화된 데이터가 실제로 사는 곳입니다 → 데이터베이스란 무엇인가
{ "name": "김진호", "active": true, "departments": ["영업", "기획"], "manager": { "name": "이수민", "email": "[email protected]" }}날짜,지역,반품수량2026-08-01,서울,142026-08-01,부산,3## 제목- 목록 항목**강조**✓ UTF-8 지금의 표준. 전 세계 글자를 담습니다✗ EUC-KR · CP949 옛 한국어 인코딩. 아직 관공서·구형 시스템에 남아 있습니다�섎룞蹂닿퀬?? → 인코딩이 어긋남안녕하세요 → 정상□ 표 형태의 숫자 → CSV□ 프로그램끼리 → JSON□ 사람이 읽을 문서 → 마크다운 → 필요하면 PDF·HWPX로 변환□ 원본이 PDF·스캔본이면 → 먼저 텍스트로 뽑는 단계를 계획에 넣기