모든 가이드
데이터

CSV 내보내기에 작은따옴표가 추가되는 이유

추가된 작은따옴표는 의도적일 수 있습니다. 스프레드시트 주의사항과 정확한 데이터 간의 균형을 확인하세요.

내보낸 CSV에서 선행 아포스트로피(')는 의도적일 수 있습니다. CozyToolkit은 스프레드시트 수식으로부터 CSV 보호 옵션이 활성화된 경우 특정 수식처럼 보이는 값 앞에 이를 추가합니다. 이 옵션은 기본적으로 켜져 있습니다.

예를 들어, 텍스트 =1+1는 '=1+1로 변환됩니다. 이는 스프레드시트가 해당 값을 수식으로 해석할 위험을 줄여 줍니다. 또한 기본 데이터가 변경되어 이후 CSV를 JSON으로 변환할 때도 아포스트로피가 유지됩니다.

네 가지 일반 값 내보내기

샘플 JSON을 다운로드하고 CSV, JSON & YAML 변환기에 업로드하세요. 원본을 JSON으로, 대상을 CSV로 설정합니다. 옵션을 열고 스프레드시트 수식으로부터 CSV 보호가 활성화된 상태로 둡니다.

샘플에는 네 개의 라벨이 붙은 값이 있습니다. 코드 출력에서 내보낸 필드는 다음과 같습니다:

원본 문자열 내보낸 CSV 필드 파싱된 값
=1+1 "'=1+1" '=1+1
@cozytoolkit "'@cozytoolkit" '@cozytoolkit
-12 "'-12" '-12
Ready to share Ready to share Ready to share

다운로드를 사용해 CSV를 저장하거나 검증한 내보내기 파일를 확인하세요. 샘플은 무해한 산술식, 사용자 이름, 오프셋을 사용해 변환 과정을 쉽게 볼 수 있습니다.

표 탭은 입력 레코드를 미리 보여줍니다. 코드 탭이나 다운로드한 CSV에서 내보내기 중 추가된 아포스트로피를 확인할 수 있습니다. 입력 테이블은 이 이스케이프된 문자열 미리보기가 아닙니다.

CSV 따옴표는 다른 역할

외부의 큰따옴표는 CSV 문법에 속합니다. CSV 파서는 필드를 읽을 때 이를 제거합니다. 따옴표 안의 아포스트로피는 필드 값의 일부로 파싱 후에도 유지됩니다.

결과를 입력으로 사용을 선택해 내보낸 CSV를 다시 JSON으로 변환하세요. 숫자 감지를 끈 상태에서 첫 번째 값은 "'=1+1"가 되고 "=1+1"가 아닙니다. 다시 변환한 JSON에서 네 가지 결과를 모두 확인할 수 있습니다. 이는 의도된 데이터 변경이며, 잘못된 인용 부호가 아닙니다.

하위 시스템에서 원본 문자열을 정확히 필요로 한다면 원본 JSON을 보관하세요. 모든 선행 아포스트로피를 무차별적으로 제거하지 마세요. 일부는 원본 데이터의 일부일 수 있습니다.

이 옵션이 검사하는 내용

변환기는 Papa Parse의 수식 이스케이프 옵션을 사용합니다. =, +, -, @, 탭, 캐리지 리턴으로 시작하는 값 앞에 접두사를 붙입니다. 여기에는 사용자 이름, 음수 문자열 같은 무해한 값도 포함됩니다. 옵션은 각 값이 악의적인지 판단하지 않습니다.

이는 제한된 내보내기 예방책일 뿐, 모든 스프레드시트가 모든 CSV를 안전하게 열 수 있다는 보장은 아닙니다. 현재 검사에는 선행 라인 피드나 전각 기호 변형 등이 포함되지 않습니다. 스프레드시트 가져오기 설정은 다르며, CSV를 저장 후 다시 열면 이스케이프가 변경될 수 있습니다. OWASP는 CSV 인젝션 한계를 설명합니다.

신뢰할 수 없는 데이터는 스프레드시트의 텍스트 가져오기 기능을 통해 가져오고, 관련 열을 명시적으로 텍스트로 처리하며 결과를 확인하세요. 파일을 받을 애플리케이션과 버전에서 동작을 검증해야 합니다.

정확한 데이터 내보내기는 스프레드시트 내보내기와 분리

신뢰할 수 있는 기계 간 워크플로에서 원본 문자열을 정확히 유지해야 한다면 보호 기능을 끄면 아포스트로피 추가를 피할 수 있습니다. 이 파일은 사람이 스프레드시트에서 열 파일과 분리해 보관하세요. 테이블 파일이 필요 없으면 JSON이 더 명확한 전달 수단입니다.

결과 기록는 2026년 11월 2일 실제 변환기로 보호 기능 켬/끔을 비교합니다. 내보낸 텍스트와 파서가 읽은 값을 확인할 수 있습니다. Excel, LibreOffice 등 스프레드시트 테스트나 수식 이스케이프가 신뢰할 수 없는 모든 파일을 안전하게 만드는지에 대한 주장은 포함하지 않습니다.