CSV 정리 (열 개수 불일치 검사 · 빈 행·열 제거 · 중복 행 제거 · 열별 타입과 빈 값 비율 · CSV·TSV·마크다운 출력)

남이 만든 CSV를 열어 보면 대개 어딘가 한 군데가 어긋나 있습니다. 주소 칸에 들어간 쉼표 때문에 그 줄만 열이 하나 더 생겼거나, 파일 끝에 빈 줄이 스무 개 붙어 있거나, 같은 행이 두 번 들어가 있거나 하는 식입니다. 이런 것들은 눈으로 훑어서는 잘 보이지 않고, 대개 데이터를 다 옮긴 다음에야 숫자가 맞지 않아 발견됩니다. 이 도구는 표를 넘기기 전에 그 어긋난 자리를 먼저 짚어 주는 쪽입니다.

CSV 정리 (열 개수 불일치 검사 · 빈 행·열 제거 · 중복 행 제거 · 열별 타입과 빈 값 비율 · CSV·TSV·마크다운 출력)모두의계산기

어떤 표를 읽나

쉼표로 나뉜 CSV, 엑셀이나 구글시트에서 그대로 복사한 탭 구분 표, 세미콜론이나 세로 막대로 나뉜 표를 읽습니다. 구분자를 「자동으로 찾기」로 두면 앞의 여덟 줄에서 가장 많이 나온 문자를 골라 씁니다. 값 안에 구분자가 들어간 칸은 큰따옴표로 감싸는 표준 방식("서울시 강남구 테헤란로 1, 2층")을 그대로 해석하고, 따옴표 안의 따옴표가 두 번 적힌 것도 한 개로 풉니다. 다만 따옴표가 짝이 맞지 않게 열려 있으면 그 뒤 전체가 한 칸으로 묶여 버리므로, 결과의 행 수가 원본과 크게 다르면 그 점을 먼저 의심해 보세요.

열 개수가 어긋난다는 것

기준 열 개수는 첫 줄을 헤더로 쓸 때는 헤더의 칸 수, 헤더가 없을 때는 가장 많이 나타난 칸 수로 잡습니다. 이 수와 다른 줄이 「어긋난 행」입니다. 칸이 많아진 줄은 대개 주소나 메모처럼 값 안에 쉼표가 들어갔는데 따옴표로 감싸지 않은 경우이고, 칸이 모자란 줄은 뒤쪽 값이 없으면서 구분자까지 빠진 경우입니다. 앞쪽이 밀린 것인지 뒤쪽이 잘린 것인지는 사람이 봐야 알 수 있으므로 기본값은 「표시만」입니다. 「칸을 맞춥니다」를 고르면 모자란 칸은 빈 값으로 채우고 넘치는 칸은 잘라 내는데, 이미 옆으로 밀린 값은 밀린 자리에 그대로 남는다는 점을 알고 쓰세요.

타입 추정과 빈 칸 비율

열마다 비어 있지 않은 값을 세어, 90% 이상이 숫자면 「숫자」, 90% 이상이 연-월-일 또는 월-일-연 모양이면 「날짜」로 적습니다. 그 밖에는 「섞임」이나 「텍스트」입니다. 숫자 판정은 쉼표를 뺀 뒤 부호와 소수점만 허용하므로 32,000은 숫자지만 32,000원은 텍스트입니다. 이 구분이 유용한 자리는 따로 있습니다. 숫자여야 할 열이 「섞임」으로 나오면 그 안에 -이나 미정 같은 글자가 섞여 있다는 뜻이고, 서로 다른 값의 수가 행 수와 똑같으면 그 열이 사실상 식별자라는 뜻입니다. 빈 칸 비율이 유독 높은 열은 애초에 채워지지 않는 항목일 가능성이 큽니다.

중복 행과 열 고르기

중복은 뽑아 낸 열을 기준으로 판정합니다. 모든 칸이 같아야 지우려면 열을 고르지 말고 「모든 칸이 같은 행」을 쓰고, 주문번호처럼 특정 열만 같으면 같은 건으로 볼 때는 그 열만 뽑은 뒤 「고른 열이 같으면」을 쓰세요. 앞서 나온 행이 남고 뒤의 것이 지워집니다. 열은 헤더에 적힌 이름으로 고르거나 1부터 세는 번호로 고를 수 있고, 적은 순서대로 나옵니다. 순서를 바꾸는 데도 쓸 수 있다는 뜻입니다.

자주 묻는 질문

붙여 넣은 데이터가 서버로 올라가나요?

올라가지 않습니다. 표를 읽고 검사하고 다시 내보내는 일이 모두 브라우저 안의 자바스크립트로 이뤄지며, 어디로도 전송되지 않고 저장되지도 않습니다. 새로고침하면 사라지므로 결과는 복사해 두세요. 다만 회사 규정상 반출이 금지된 데이터라면 어떤 웹 도구든 사용 여부를 먼저 확인하는 편이 맞습니다.

엑셀에서 복사했는데 한 칸으로 들어갑니다.

엑셀에서 여러 셀을 선택해 복사하면 탭으로 나뉘어 붙습니다. 구분자를 「자동으로 찾기」나 「탭」으로 두었는지 보세요. 셀 하나를 편집 상태에서 복사하면 탭이 아니라 줄바꿈만 들어와 한 칸으로 보입니다. 셀 안에 줄바꿈이 있는 경우에도 붙여넣기 과정에서 따옴표로 감싸여 들어오는데, 그 따옴표가 짝이 맞지 않으면 뒤가 통째로 묶이므로 그 셀만 따로 손보는 편이 빠릅니다.

숫자 열인데 「섞임」으로 나옵니다.

그 열에 순수한 숫자가 아닌 값이 섞여 있다는 신호입니다. 흔한 것은 단위가 붙은 값(32,000원), 빈 값 대신 넣은 기호(-), 앞에 0이 붙은 코드, 엑셀에서 텍스트로 저장돼 앞뒤에 공백이 남은 값입니다. 표에서 숫자·날짜·글자의 개수를 보면 몇 개가 어긋났는지 가늠할 수 있고, 실제로 어느 줄인지는 그 열만 뽑아 정렬해 보면 대개 금방 드러납니다.

함께 보기