본문으로 건너뛰기
AZ Tools

고정폭 텍스트 → CSV / JSON 파서

고정폭/고정 열 텍스트를 열 너비로 잘라 필드로 나누고 CSV 또는 JSON으로 내보냅니다. 브라우저에서 동작합니다.

결과

사용법

  1. 고정폭 텍스트를 한 줄에 한 레코드씩 붙여넣습니다.
  2. 열 너비를 공백이나 쉼표로 구분해 입력합니다(예: 6 3 8).
  3. CSV 또는 JSON 출력을 선택하고 트림을 켭니다.
  4. JSON의 경우 '첫 줄이 헤더'를 켜면 열 이름으로 객체를 만들고, 결과를 복사합니다.

자세한 설명

펼치기

고정 폭 레코드를 파싱합니다. 은행, 급여 시스템, 메인프레임 내보내기가 여전히 내주는 형식입니다. 열 너비를 알려 주면 구조화된 행을 JSON이나 CSV로 되돌려 줍니다. 이런 파일에는 구분자가 없습니다. 모든 필드를 위치로 찾기 때문에 공백 하나만 빠져도 그 뒤가 전부 밀리고, 그래서 규격서가 선택 사항이 아닙니다. 여기서 너비는 문자 수로 셉니다. 따라서 악센트가 붙은 이름이나 한중일 문자가 든 파일은 규격이 문자 단위로 쓰였다면 맞아떨어지고, 바이트 단위로 쓰였다면 맞지 않습니다. 필드에서 채움 공백을 잘라 낼 수 있고, 첫 행을 헤더로 다루면 번호가 매겨진 열 대신 진짜 키를 가진 JSON이 나옵니다. 모든 처리는 브라우저에서 이루어집니다.

자주 묻는 질문

열 너비는 어떻게 알 수 있나요?

원본 레이아웃에서 각 열이 차지하는 문자 수를 패딩 공백을 포함해 셉니다. 대부분의 고정폭 사양에 너비가 문서화되어 있으며, 모노스페이스 편집기에서 정렬해 세어볼 수도 있습니다.

줄이 예상보다 짧으면 어떻게 되나요?

줄 끝을 넘어가는 필드는 빈 값으로 나옵니다. 전체 너비보다 긴 줄은 초과 문자가 무시됩니다.

CSV는 어떻게 따옴표 처리되나요?

쉼표, 큰따옴표, 줄바꿈이 포함된 필드는 큰따옴표로 감싸고 내부 따옴표는 두 번 반복합니다(RFC 4180 준수).

제 데이터가 업로드되나요?

아니요. 파싱은 전적으로 브라우저에서 이루어지며 아무것도 기기를 벗어나지 않습니다.

파일 중간부터 열이 밀립니다. 무슨 일인가요?

어떤 레코드 하나가 한 글자 어긋났고, 모든 필드를 위치로 찾기 때문에 그 뒤가 전부 그 어긋남을 물려받은 것입니다. 필드를 넘친 값, 뷰어가 여러 칸으로 보여 주는 탭 문자, 또는 작성한 쪽은 1바이트로 셌지만 여기서는 한 글자로 세는 악센트 문자가 든 줄을 찾아보세요.

규격은 바이트 기준인가요, 문자 기준인가요?

여기서 너비는 문자 기준입니다. 메인프레임 레이아웃은 바이트와 문자가 같은 것이던 시절에 쓰였고, 순수 ASCII 데이터에서는 지금도 그렇습니다. 하지만 UTF-8로 악센트가 붙은 이름이나 한중일 문자를 담은 파일은 문자보다 바이트가 많으므로, 바이트로 쓰인 규격은 파일을 변환하거나 너비를 조정하기 전까지 맞아떨어지지 않습니다.

관련 도구