도구로 바로 가기
ViewCSV
파일을 업로드하지 않습니다

CSV를 YAML로 변환

orders.csv· 예시 데이터15행 · 8열
값 유형
숫자, true/false, 날짜처럼 보이는 텍스트 값은 따옴표로 감싸므로 다시 읽어도 같은 텍스트가 됩니다.
- order_id: "001041"
  customer: 주원 이
  city: 수원
  product: USB-C cable
  quantity: "4"
  unit_price: "242.94"
  order_date: "2026-01-11"
  status: refunded
- order_id: "001042"
  customer: 지아 최
  city: 인천
  product: Coffee beans 1kg
  quantity: "5"
  unit_price: "137.62"
  order_date: "2026-02-06"
  status: pending
- order_id: "001043"
  customer: 도윤 정
  city: 서울
  product: USB-C cable
  quantity: "4"
  unit_price: "230.94"
  order_date: "2026-03-13"
  status: pending
- order_id: "001044"
  customer: 하은 최
  city: 울산
  product: Chair, ergonomic
  quantity: "8"
  unit_price: "173.96"
  order_date: "2026-04-25"
  status: pending
- order_id: "001045"
  customer: 민준 이
  city: 부산
  product: Chair, ergonomic
  quantity: "1"
  unit_price: null
  order_date: "2026-05-25"
  status: pending
- order_id: "001046"
  customer: 하윤 강
  city: 울산
  product: Coffee beans 1kg
  quantity: "2"
  unit_price: "184.56"
  order_date: "2026-06-26"
  status: shipped
- order_id: "001047"
  customer: " 지아 김 "
  city: 광주
  product: Coffee beans 1kg
  quantity: "2"
  unit_price: "216.67"
  order_date: "2026-07-26"
  status: paid
- order_id: "001048"
  customer: 하은 김
  city: 대구
  product: Chair, ergonomic
  quantity: "9"
  unit_price: "53.02"
  order_date: "2026-08-27"
  status: pending
- order_id: "001049"
  customer: 예준 오
  city: 인천
  product: Notebook A5
  quantity: "3"
  unit_price: "99.60"
  order_date: "2026-09-20"
  status: paid
- order_id: "001050"
  customer: 지아 윤
  city: 부산
  product: Monitor 27"
  quantity: "4"
  unit_price: "161.71"
  order_date: "2026-01-24"
  status: pending
- order_id: "001051"
  customer: 하은 정
  city: 대구
  product: Notebook A5
  quantity: "9"
  unit_price: "142.69"
  order_date: "2026-02-20"
  status: paid
- order_id: "001052"
  customer: 지우 한
  city: 울산
  product: USB-C cable
  quantity: "1"
  unit_price: "231.30"
  order_date: "2026-03-12"
  status: refunded
- order_id: "001053"
  customer: 도윤 박
  city: 수원
  product: Notebook A5
  quantity: "8"
  unit_price: "244.37"
  order_date: "2026-04-20"
  status: paid
- order_id: "001054"
  customer: 민준 김
  city: 광주
  product: Chair, ergonomic
  quantity: "7"
  unit_price: "62.98"
  order_date: "2026-05-05"
  status: refunded
- order_id: "001043"
  customer: 도윤 정
  city: 서울
  product: USB-C cable
  quantity: "4"
  unit_price: "230.94"
  order_date: "2026-03-13"
  status: pending

15행 · 파일 1개

CSV 파일을 열거나 붙여넣으면 각 행이 머리글을 키로 하는 YAML 목록 항목 하나가 됩니다. 기본적으로 모든 값은 텍스트로 남고, YAML 파서가 다른 의미로 해석할 수 있는 값(NO, yes, 0150, 2024-03-01, null)은 따옴표로 감싸 적힌 그대로 다시 읽히게 합니다. 파일은 업로드되지 않고 브라우저 안에서 변환됩니다.

CSV를 YAML로 변환하는 방법

  1. 파일 열기를 누르거나, .csv, .tsv, .txt 파일을 도구 위에 끌어다 놓거나, 붙여넣기를 고르세요. 키가 이상하게 보이면 가져오기 설정에서 구분 기호와 인코딩을 확인하세요.
  2. 값 유형과 빈 셀을 쓰는 방식을 고르세요. YAML 탭에 다운로드 파일에 들어갈 텍스트가 그대로 표시됩니다.
  3. 들여쓰기를 고른 다음 복사나 YAML 다운로드를 누르세요.

결과는 최상위 시퀀스(- key: value 항목)로, 테스트 픽스처, 시드 데이터, 정적 사이트의 데이터 파일에 쓰는 형태입니다. JSON이 필요하다면 같은 유형 옵션이 있는 CSV를 JSON으로를 사용하세요.

YAML 출력 옵션

모든 값을 텍스트로 유지기본값입니다. 모든 값을 YAML 문자열로 쓰며, 따옴표 없는 스칼라로 쓰면 다른 것으로 읽힐 곳에만 따옴표를 붙입니다.
숫자와 true/false 감지비어 있지 않은 모든 값이 앞자리 0이 없고 유효 숫자 15자리 이하인 일반 숫자일 때만 그 열을 YAML 숫자로 바꿉니다. true/false 열(대소문자 무관)은 불리언이 됩니다. yes/no와 날짜는 따옴표로 감싼 문자열로 남습니다. 숫자는 표준 형태로 쓰므로 1.50은 1.5가 됩니다.
빈 셀null(기본값)은 key: null, 빈 텍스트 ""는 key: ""를 쓰고, 키 생략은 그 행에서 키를 뺍니다.
들여쓰기목록 항목 아래 키의 들여쓰기를 공백 2칸(기본값) 또는 공백 4칸으로 정합니다.

모호한 값에 따옴표를 붙이는 방식

출력은 YAML 1.2 파서는 물론, 더 많은 단어를 불리언과 숫자로 보는 PyYAML 같은 예전 YAML 1.1 파서에서도 똑같이 다시 읽히도록 씁니다.

  • 국가 코드와 응답 코드: NO, yes, off, y, on은 따옴표로 감싸므로 노르웨이의 국가 코드가 false로 읽히지 않습니다. 키에도 적용됩니다("on": x).
  • 앞자리 0: 0150과 08001은 따옴표로 감쌉니다. 따옴표가 없으면 YAML 1.1은 이를 8진수나 10진수로 읽고 0을 버립니다.
  • 텍스트 모드의 날짜와 숫자: 2019-04-01과 12는 타임스탬프나 정수로 읽히지 않도록 따옴표로 감쌉니다.
  • null처럼 보이는 텍스트: null이나 ~가 들어 있는 셀은 따옴표로 감싸, 빈 셀과 헷갈리지 않고 적은 텍스트 그대로 남게 합니다.
  • 값 안의 줄 바꿈은 |- 리터럴 블록이 되고, 텍스트 안의 : 나 #는 따옴표로 감쌉니다. 긴 줄을 접어 쓰는 일은 없습니다.
  • 머리글은 공백과 한글 같은 비라틴 문자까지 적힌 그대로 키로 씁니다. 빈 머리글은 Column 3, 중복된 머리글은 name (2)가 됩니다.

CSV를 YAML로 바꿀 때 흔한 문제

  • 숫자와 true/false 감지를 켰는데 숫자 열에 따옴표가 남았습니다. 일반 숫자가 아닌 값이 하나 이상 있습니다. 예를 들면 1,5, 12 kg, 007입니다. CSV 뷰어에서 찾으세요.
  • yes/no 열이 불리언이 되지 않았습니다. yes, no, on이 불리언을 뜻하는 것은 YAML 1.1뿐이므로 true와 false만 변환합니다. 불리언이 필요하다면 먼저 CSV 편집기로 CSV의 값을 바꾸세요.
  • 키에 é 같은 이상한 문자가 있거나 한글이 깨집니다. UTF-8이 아닌 파일입니다. 가져오기 설정에서 원래 인코딩(한국어 파일은 대개 EUC-KR(CP949))을 고르세요.
  • 모든 값이 키 하나 아래에 들어갑니다. 구분 기호를 잘못 추측했습니다. 가져오기 설정에서 지정하세요.

한도와 개인정보 보호

25 MB, 10만 행 또는 200만 셀까지의 파일은 처음 200행의 실시간 미리 보기와 함께 열립니다. 더 큰 파일은 스트리밍 방식으로 변환합니다. 파일을 조각 단위로 두 번 읽는데(한 번은 열과 유형 파악, 한 번은 쓰기), 다운로드에 파일 전체가 들어간다는 안내가 표시되고 복사는 제공하지 않습니다. 출력 파일 하나는 최대 4 GB입니다.

변환은 이 탭의 백그라운드 워커에서 실행되므로 페이지가 멈추지 않고, 취소로 중단할 수 있습니다. CSV는 서버로 보내지 않습니다.

예시: 국가 코드와 우편번호가 있는 고객 목록

국가 코드, 앞자리 0이 있는 우편번호, yes/no 표시, 날짜, 빈 셀이 있는 고객 목록을 기본 설정(모두 텍스트, 빈 셀은 null)으로 변환한 결과입니다. 숫자와 true/false 감지를 켜면 orders만 12, 3, 7로 바뀝니다.

CSV
country,code,postcode,vat_registered,since,orders
Norway,NO,0150,yes,2019-04-01,12
Spain,ES,08001,no,2021-11-15,3
United States,US,02134,,,7
YAML 결과
- country: Norway
  code: "NO"
  postcode: "0150"
  vat_registered: "yes"
  since: "2019-04-01"
  orders: "12"
- country: Spain
  code: ES
  postcode: "08001"
  vat_registered: "no"
  since: "2021-11-15"
  orders: "3"
- country: United States
  code: US
  postcode: "02134"
  vat_registered: null
  since: null
  orders: "7"

자주 묻는 질문

`NO`가 따옴표로 감싸지는 이유는 무엇인가요?

YAML 1.1에서는 따옴표 없는 NO, no, off, n이 거짓(false)을 뜻합니다. 따옴표로 감싸면 노르웨이 국가 코드나 no로 적은 응답이 어느 파서에서든 텍스트로 남습니다.

목록 대신 ID를 키로 하는 매핑 하나로 받을 수 있나요?

안 됩니다. CSV 행마다 목록 항목 하나로 파일 순서대로 씁니다. 키 기반 출력은 여기서 제공하지 않습니다.

결과가 유효한 YAML 1.2인가요?

네. YAML 1.1을 위해 덧붙인 따옴표도 YAML 1.2에서 유효하며, 원래 문자열이던 값을 명시적으로 표시할 뿐입니다.

표준 및 참고 자료