엑셀 파일명 일괄 수정 143곳 — 고칠수록 오류가 안 보이게 됐다
확장자 대소문자와 (1) 순번을 자동으로 다듬었더니, 서로 다르던 두 값이 같아졌다
클라이언트가 준 엑셀에 사진 파일 이름이 제각각으로 들어 있으면, 규칙을 몇 개 세워서 한 번에 다듬고 싶어진다. 2026-08-07 에 143곳을 그렇게 고쳤다. 전부 기계가 확실히 판정할 수 있는 것들이었다.
- 확장자가 대문자 —
_closeup.JPG→_closeup.jpg - 윈도우가 붙인 순번 —
_closeup (1).jpg→ 규칙대로 정리 - 확장자 누락 —
HJ900004_closeup→.jpg붙임
돌리고 나서 검산을 하나 넣었다. 「고친 뒤에 같은 사진을 두 물건이 가리키게 되지는 않았나」.
56장이 걸렸다.
자료가 원래 그런 줄 알았다
처음엔 원본이 밀려 있는 줄 알았다. 실제로 그렇게 보이는 패턴이 있었다.
행 488 A물건 → B사진
행 489 B물건 → B사진
행 496 C물건 → D사진
행 497 D물건 → E사진
자기 사진이 아니라 바로 다음 물건의 사진을 가리킨다. 사진 칸이 한 줄씩 아래로 밀린 것처럼 보였다.
그런데 원본을 다시 열어보고 알았다. 밀린 두 값은 원래 서로 달랐다 — 한쪽은 B_closeup (1).jpg, 다른 쪽은 B_closeup.jpg. (1) 이 붙어 있어서 구분이 됐던 것이다.
내가 그 (1) 을 떼면서 둘을 같은 이름으로 만들었다. 자료의 결함이 사라진 게 아니라 내가 가려 버렸다.
더 많이 고치는 쪽이 좋아 보였다
여기서 갈렸다.
- A. 그대로 간다 — 어차피 이름이 틀린 건 맞으니 규칙대로 다 고친다
- B. 실제 파일이 있을 때만 고친다 — 바꾼 이름으로 파일이 존재하는지 확인하고, 없으면 원본을 그대로 둔다
A 가 「더 많이 고치는」 쪽이라 좋아 보였다. 그런데 A 는 검증이 없는 수정이다. 없는 파일을 가리키게 만들 수도 있고, 방금처럼 원래 있던 오류를 덮을 수도 있다.
B 로 갔다. 스크립트에 파일 목록을 읽는 단계를 넣고, 규칙으로 바꾼 이름이 실제로 그 폴더에 있을 때만 채택하게 했다.
| 전 | 후 | |
|---|---|---|
| 고친 곳 | 143 | 90 |
| 사진이 제대로 붙은 비율 | 93% | 96% |
바꾸는 건 37% 줄었는데 결과는 좋아졌다. 검증 없이 바꾸던 53곳이 값을 못 하고 있었다는 뜻이다.
부수 효과가 하나 더 있었다. 사진을 아직 못 받은 구간은 이제 아무것도 안 바뀐다. 검증할 실물이 없으니 손대지 않는 것이고, 실물이 오면 그때 다시 돌리면 된다. 전에는 그 구간까지 「고쳤다」고 표시되면서 실제로는 아무 근거가 없었다.
검산 코드도 한 번 틀렸다
처음엔 「셀 값을 규칙으로 바꾸면 어떻게 될까」로 비교했다. 그러면 내가 안 바꾼 값까지 같아 보인다. 56장 중 27장이 그렇게 만들어진 허수였다.
검산은 「실제로 저장된 값」으로 해야 한다. 진짜 충돌은 29장이었다.
자동 수정에는 「고친 값이 실제로 존재하는가」라는 관문을 넣었다. 그게 없으면 고칠수록 자료가 깨끗해 보이는데, 깨끗해진 게 아니라 안 보이게 된 것일 수 있다.