솔직히 말해서, 누군가 CSV를 JSON으로 변환하느라 새벽 두 시까지 야근한다는 이야기를 처음 들었을 때, 저는 정말 어안이 벙벙했습니다. 이게 손만 있으면 되는 거 아니야? 나중에 인터넷 회사에서 일하는 친구 몇 명과 이야기를 나눠 보니, 이 일이 생각만큼 간단하지 않다는 것을 알게 되었습니다.
먼저 CSV가 무엇인지 설명하겠습니다. 쉽게 말하면, 쉼표로 구분된 데이터 덩어리로, Excel에서 가장 흔히 볼 수 있는 것입니다. JSON은 현재 프론트엔드와 백엔드가 데이터를 주고받을 때 가장 흔히 사용하는 데이터 형식으로, 중괄호 안에 키-값 쌍이 들어있는 형태입니다.看起来很简单的对吧? 하지만 문제는 바로 '看起来' 이 세 글자에 있습니다.
저는 많은 사람들이 이 작업을 처리하는 방식을 너무 많이 봤습니다: Excel을 열고, Ctrl+A로 전체 선택하고, 복사한 다음, 온라인 변환 도구를 찾아 붙여넣고, 변환 버튼을 누르면... 문제가 발생합니다. 왜냐하면 CSV 안에 쉼표, 따옴표, 줄바꿈 문자가 있을 수 있고, 심지어 BOM 헤더가 있는 UTF-8 인코딩일 수도 있기 때문입니다. 무료 온라인 도구로 변환하면 데이터가 모두 엉망이 됩니다. 그런 다음 수천 줄의 데이터를 멍하니 바라보며 어떤 것이 잘못되었는지, 어떤 것이 맞는지 알 수 없게 됩니다. 그때부터 야근이 시작되는 것입니다.
더 안타까운 상황은 데이터 양이 특히 많을 때입니다. 예를 들어 수십만 건의 사용자 데이터가 있고, CSV 파일 자체가 수백 메가바이트라면, 온라인 도구를 사용할 수 있나요? 제한이 있어서 몇 메가바이트를 넘으면 유료로 전환됩니다. Excel을 사용할까요? 열기도 힘들고, 처리는 말할 것도 없습니다. 결국 방법이 없어서 직접 코드를 작성해야 합니다. 하지만 문제는 모든 사람이 코드를 작성할 수 있는 것은 아니라는 점입니다. 작성할 수 있는 사람도 각종 경계 상황을 디버깅하는 데 시간을 들여야 합니다. 예를 들어 특정 필드에 따옴표가 반만 들어있거나, 특정 셀에 줄바꿈 문자가 있으면 스크립트가 즉시 충돌할 수 있습니다.
제 친구 중 한 명은 전자상거래 회사에서 일하며 매주 공급업체가 보내는 CSV 파일들을 처리해야 합니다. 그 친구는 예전에 이 작업을 할 때마다 거의 반나절이 걸렸다고 말했습니다. 나중에 명령줄로 작동하거나 시각적 구성 인터페이스가 있는 전문 CSV-to-JSON 도구를 사용하는 법을 배운 후 훨씬 빨라졌습니다. 하지만 그가 말하기를, 가장 큰 함정은 도구 자체가 아니라 많은 사람들이 CSV와 JSON 사이에 그렇게 많은 숨은 함정이 있다는 것을 전혀 모른다는 것입니다.
생각해 보세요, CSV 형식 자체에는 통일된 표준이 없습니다. 어떤 파일은 쉼표로 구분하고, 어떤 파일은 세미콜론, 어떤 파일은 Tab으로 구분합니다. 어떤 파일은 헤더가 있고, 어떤 파일은 없습니다. 어떤 필드는 큰따옴표로 감싸고, 어떤 필드는 그렇지 않습니다. 이러한 세부 사항을 모른 채 도구로 바로 변환하면 결과는 엉망이 될 수밖에 없습니다. 게다가 JSON은 형식에 매우 엄격해서 쉼표 하나가 더 많거나 괄호 하나가 없으면 전체 파일을 파싱할 수 없습니다. 프론트엔드 동료에게 잘못된 JSON 파일을 주면 상황이 시끄러워집니다. 프론트엔드에서 바로 오류가 발생하고, 당신이 책임을 져야 합니다.
그래서 저는 이런 이유로 야근하는 사람들을 매우 이해합니다. 그들이 멍청해서도 아니고, 노력하지 않아서도 아닙니다. 단지 올바른 방법을 찾지 못했을 뿐입니다. 사실 이 작업을 처리하는 핵심은 몇 단계입니다: CSV가 정확히 어떤 형식인지, 특수 문자가 있는지, 데이터 양이 얼마나 되는지 파악한 다음, 믿을 수 있는 도구를 선택하는 것입니다. 온라인 도구를 공짜로 쓰려고만 하지 마세요. 데이터 양이 많거나 형식이 복잡할 때는 그런 도구가 버티지 못합니다.
이런 변환을 자주 처리해야 한다면 Python을 배우거나 전문적인 오픈소스 도구를 사용하는 것이 좋습니다. 처음 설정하는 데 시간이 걸릴 수 있지만, 이후에는 한 번만 해두면 영구적으로 해결되어 더 이상 이 일로 야근하지 않아도 됩니다. 코드를 배우고 싶지 않다면, 기능이 완전하고 대용량 파일도 처리할 수 있는 믿을 만한 데스크톱 소프트웨어를 찾아 브라우저에서 헤매지 마세요.
결국, CSV를 JSON으로 변환하는 것 자체는 어렵지 않습니다. 어려운 것은 기본 메커니즘을 이해하는 데 시간을 투자할 의향이 있느냐입니다. 도구를 아무 생각 없이 사용한다면 야근은 당신의 운명입니다. 하지만 30분만 투자해 규칙을 파악하면 이 작업은 10분이면 끝납니다. 단순한 변환이 야근의 이유가 되지 않게 하세요.