CSV
이 페이지는 바이브 코딩 문맥에서 자주 쓰이는 CSV의 뜻과 쓰임을 중급 난이도 기준으로 정리한 AI 용어사전 항목입니다. 정의와 맥락, 관련 용어 5개 순서로 묶었으니, 아래 설명을 먼저 읽고 연결된 개념과 글까지 이어서 보면 이해가 빨라집니다.
CSV(Comma-Separated Values)는 행마다 레코드를 적고 쉼표로 필드를 구분해 표 형태의 데이터를 저장하는 텍스트 형식입니다. 스프레드시트와 데이터베이스, 분석 도구 사이에서 자료를 옮기는 데 자주 쓰입니다. 파일 안의 쉼표와 줄바꿈이 모두 구분자인 것은 아니며, 값 안에 그런 문자가 들어가면 인용 규칙에 따라 해석합니다.
행과 필드를 구분하는 규칙
CSV 형식을 기술한 RFC 4180은 레코드를 행으로 나누고 필드를 쉼표로 구분하는 널리 쓰이는 형식을 설명합니다. 첫 행에 열 이름을 담는 헤더를 둘 수 있지만 헤더가 항상 존재하는 것은 아닙니다. 파일을 읽는 쪽은 첫 행이 이름인지 실제 데이터인지 알아야 합니다. 그렇지 않으면 첫 자료를 열 이름으로 사용하거나 열 이름을 데이터로 저장할 수 있습니다.
값에 쉼표가 들어가면 그 값 전체를 큰따옴표로 감쌀 수 있습니다. 큰따옴표로 감싼 필드에는 줄바꿈도 들어갈 수 있어 화면에서 보이는 줄 수와 레코드 수가 같지 않을 수 있습니다. 값 자체에 큰따옴표가 있으면 두 번 적어 표현하는 규칙을 씁니다. 쉼표를 기준으로 문자열을 무조건 나누는 코드는 이런 값을 여러 열로 잘못 해석합니다.
열의 순서와 의미는 파일을 주고받는 쪽의 약속입니다. 이름, 이메일, 가입일을 같은 순서로 저장한 자료라도 열 이름이 바뀌거나 중간에 새 열이 추가되면 기존 처리 코드가 잘못된 값을 읽을 수 있습니다. 파일이 열리는지만 확인하기보다 헤더와 필드 수, 각 열에 기대하는 데이터가 맞는지 확인합니다. CSV는 이런 업무 의미를 자동으로 검증하는 데이터베이스 스키마가 아닙니다.
도구마다 달라지는 읽기 조건
Python의 csv 모듈 문서는 생산자와 소비자 사이에 형식 차이가 있어 dialect라는 규칙 묶음을 사용한다고 설명합니다. 구분자와 따옴표 처리 같은 설정을 맞춰 파일을 읽고 씁니다. 확장자가 .csv라는 사실만으로 모든 도구가 같은 규칙을 사용한다고 단정하지 않습니다. 내보낸 도구와 가져올 도구의 설정을 대조합니다.
텍스트를 어떤 문자 인코딩으로 저장했는지도 별도 조건입니다. 한글이 포함된 파일을 다른 인코딩으로 읽으면 열 수가 맞아도 내용이 깨질 수 있습니다. Python 문서는 파일을 열 때 인코딩을 지정하는 예와 함께 CSV 파일의 줄바꿈 처리를 설명합니다. 파일 입출력의 newline='' 설정은 CSV 모듈이 줄바꿈을 처리하도록 하는 구체적인 조건입니다.
CSV에는 스프레드시트의 셀 서식이나 수식 계산 결과의 의미가 그대로 보존된다고 기대하기 어렵습니다. 숫자처럼 보이는 상품 코드의 앞자리 0이나 날짜 표기는 가져오는 도구의 자동 변환으로 달라질 수 있습니다. Python의 기본 reader는 행을 문자열 목록으로 반환하며, 특정 옵션을 제외하면 자동으로 숫자 변환을 하지 않습니다. 값을 읽은 뒤 어떤 타입으로 사용할지는 처리 코드가 정합니다.
교환 전후에 비교할 데이터
RFC 4180의 형식 설명은 문서가 인터넷 표준을 정의하는 것이 아니라 공통적으로 사용되는 형식을 기술한다고 밝힙니다. 어떤 파일이 그 설명과 조금 다르다는 이유만으로 곧바로 모든 사용 환경에서 잘못됐다고 판단하지 않습니다. 실제 도구가 합의한 구분자와 인용, 헤더, 인코딩을 기준으로 호환성을 확인합니다.
AI가 만든 표를 CSV로 받았다면 행 수뿐 아니라 값의 대응 관계를 확인합니다. 주소 안의 쉼표나 설명 문장의 줄바꿈 때문에 열이 밀리면 다른 사람의 값이 잘못 연결될 수 있습니다. 빈 문자열과 값이 없는 상태를 어떻게 표시하는지도 정합니다. 일부러 복잡한 문자가 들어간 레코드를 읽고 다시 저장해 보면 교환 과정에서 정보가 달라지는 지점을 찾는 데 도움이 됩니다.
자료를 외부 도구에 가져오기 전에는 원본 사본을 남기고 결과를 비교합니다. 글자 깨짐과 잘못된 날짜 변환을 저장한 뒤에는 처음 값이 무엇이었는지 알기 어려워질 수 있기 때문입니다. 개인 정보가 담긴 파일이라면 필요한 열만 전달하고, 오류 로그에 전체 행을 그대로 남기는지도 확인합니다. 형식이 단순한 텍스트라는 사실과 자료의 공개 가능 범위는 별개입니다.
관련 용어
CSV와 함께 자주 언급되는 개념들입니다. 비슷한 말처럼 보여도 역할과 쓰임은 다를 수 있습니다.
