본문 바로가기

분류 전체보기89

CSV를 열었더니 모든 값이 A열 한 칸에 몰려 있을 때 거래처에서 받은 CSV를 더블클릭했더니 한 줄이 통째로 첫 칸에 들어가 있습니다. 주문번호부터 배송지까지가 세미콜론으로 이어진 채 A열 하나를 차지하고, B열부터는 텅 비어 있습니다.칸이 안 나뉘는 것은 파일 상태와 무관합니다. 칸을 나누는 글자가 무엇인지를 두고 파일과 엑셀의 생각이 다를 뿐입니다. 같은 표를 구분자만 바꿔 저장하고 실제로 엑셀로 열어 확인했습니다.세 파일의 크기가 똑같았습니다주문 내역 5행 5열을 쉼표, 세미콜론, 탭으로 각각 저장했습니다. 인코딩은 utf-8-sig 하나로 통일해서 달라지는 조건을 구분자 하나로 묶었습니다.구분자칸 사이 바이트파일 크기엑셀이 나눈 열쉼표2C316 B5열세미콜론3B316 B1열탭09316 B1열글자 수가 같으니 크기도 316바이트로 똑같습니다. 자리마다.. 2026. 9. 25.
화면 캡처 PNG가 유독 무거울 때, 색 수를 줄여 절반으로 PNG는 화질을 하나도 안 버리는 형식이라 무겁다고들 합니다. 맞는 말이지만 절반만 맞습니다. 표와 글자뿐인 업무 화면 캡처가 사진만큼 무거울 이유는 없습니다.PNG는 화질을 하나도 버리지 않는 대신 화면에 쓰인 색의 가짓수를 그대로 안고 갑니다. 캡처는 실제로 쓰는 색이 얼마 안 되는데도 최대 규격으로 저장되면서 손해를 봅니다. 같은 화면을 저장 방법만 바꿔 가며 크기와 화질 손실을 함께 재 봤습니다. 표와 글자로 된 화면은 색이 934가지뿐이었습니다주문 목록이 떠 있는 1600 x 1000 크기의 업무 화면을 만들어 저장했습니다. 화면 전체에서 실제로 쓰인 색을 세어 보니 934가지였습니다. 24비트 PNG가 담을 수 있는 색은 1,600만 가지가 넘습니다. 쓰지도 않는 폭을 위해 자리를 내주고 있.. 2026. 9. 24.
화면에서 쨍하던 초록이 인쇄물에서 칙칙해지는 이유 명함이나 전단 시안을 넘기고 실물을 받아 보면 색이 화면과 다를 때가 있습니다. 특히 로고의 밝은 초록이나 형광 계열이 눈에 띄게 가라앉아 나옵니다.모니터 설정이나 인쇄 품질 문제가 아닙니다. 화면은 빛을 더해 색을 만들고 인쇄는 잉크로 빛을 빼서 색을 만들기 때문에, 화면이 낼 수 있는 색 중에 잉크로는 아예 낼 수 없는 색이 있습니다. 그 색들이 얼마나 끌려가는지 여덟 가지로 나눠 재 봤습니다.왜 왕복으로 쟀는가변환 결과를 CMYK 수치로만 보면 얼마나 달라 보이는지 감이 오지 않습니다. 그래서 화면용 프로파일에서 인쇄용으로 바꾼 다음, 다시 화면용으로 되돌렸습니다. 되돌아온 값이 곧 인쇄물을 눈으로 볼 때의 색에 해당합니다. 원래 값과의 거리를 재면 얼마나 끌려갔는지가 숫자로 남습니다.색화면 RGB.. 2026. 9. 24.
인쇄소에서 300DPI로 달라고 할 때, 사진 속성의 dpi를 고치면 되는 걸까? 현수막이나 명함을 맡기면 "300DPI 이상으로 주세요"라는 답이 옵니다. 이미지 편집 프로그램에서 해상도 칸을 300으로 고쳐 저장하고 다시 보내는 분들이 많습니다.그런데 그렇게 저장한 파일은 보내기 전과 완전히 같은 파일입니다. 픽셀도 그대로고 용량도 그대로입니다. 같은 이미지를 dpi만 다르게 세 번 저장하고 무엇이 달라졌는지 직접 재 봤습니다.세 파일이 바이트 하나까지 같았습니다가로 3000, 세로 2000 픽셀짜리 이미지를 만들어 두고, 압축 품질을 90으로 고정한 채 dpi만 72, 150, 300으로 바꿔 저장했습니다.저장한 dpi픽셀 수파일 크기인쇄되는 크기723000 x 2000535,119 B105.8 x 70.6 cm1503000 x 2000535,119 B50.8 x 33.9 cm3.. 2026. 9. 24.
사진 수십 장을 한 장씩 WebP로 바꾸고 계신가요, 폴더째 한 번에 변환하는 법 블로그나 쇼핑몰에 올릴 이미지를 가볍게 만들려고 WebP로 바꾸다 보면, 온라인 변환 사이트에 한 장씩 올리고 내려받기를 반복하게 됩니다. 몇 장이면 괜찮지만 수십 장이 되면 시간도 오래 걸리고 실수도 생깁니다.이럴 때는 폴더 하나를 통째로 넘겨 한 번에 변환하는 방식이 편합니다. 이 글에서는 사진 8장을 실제로 일괄 변환하면서 걸린 시간과 줄어든 용량을 측정하고, 그대로 따라 할 수 있는 코드를 정리하겠습니다. 먼저 결과부터, 8장에 얼마나 줄었나색과 도형, 잡음이 섞여 사진과 비슷한 복잡도를 가진 이미지 8장(각 1600x1000)을 만들어, 폴더째 WebP로 변환했습니다. 측정은 파이썬 3.14와 Pillow 12.2를 쓴 윈도우 11 PC에서 했고, WebP 품질은 80으로 뒀습니다.구분원본 PN.. 2026. 9. 24.
한글 웹폰트가 무거워 사이트가 느릴 때, 쓰는 글자만 남기기 한글 폰트 하나가 12메가바이트를 넘는다면, 그중 몇 글자나 실제로 화면에 나올까요. 홈페이지 메뉴와 본문에 쓰이는 글자는 많아야 수천 자입니다.한글 폰트가 무거운 이유는 담고 있는 글자 수에 있습니다. 그러면 반대로, 쓰지 않는 글자를 덜어 내면 어디까지 가벼워질까요. 맑은 고딕을 놓고 남길 범위를 단계별로 줄여 가며 재 봤습니다.글자 수를 줄이면 곧바로 용량이 빠집니다맑은 고딕 원본은 글자 모양을 28,215개 담고 있습니다. 파일로는 13,459,196바이트, 약 12.8메가바이트입니다.남긴 범위글리프 수TTFWOFF2원본 TTF 대비원본 그대로28,21513,459,196 B5,400,680 B기준완성형 2,350자2,351921,044 B362,744 B97.3 % 감소페이지에 쓴 154자155.. 2026. 9. 23.
행이 100만 개를 넘는 CSV는 엑셀 시트 한 장에 다 안 들어갑니다 시스템에서 1년치 거래 내역을 CSV로 내려받았습니다. 파일은 17메가바이트 남짓이고, 더블클릭하면 엑셀이 뜨긴 뜹니다. 그런데 맨 아래로 내려가 보면 마지막 날짜가 12월이 아닙니다.엑셀이 고장 난 것이 아니라 시트 한 장이 담을 수 있는 행이 1,048,576개로 정해져 있기 때문입니다. 그 선을 넘긴 CSV를 만들어 어디까지 들어오고 무엇이 남는지 직접 재 봤습니다.제한은 CSV가 아니라 시트 쪽에 있습니다먼저 짚어 둘 것이 있습니다. CSV는 줄바꿈으로 행을 구분하는 순수한 텍스트 파일이라 줄 수에 상한이 없습니다. 1,100,000행짜리 파일을 만들어 세어 보니 정확히 1,100,000행이 들어 있었습니다.다루는 방법담기는 행걸린 시간결과CSV 파일에 담긴 원본1,100,000242 ms줄 수 .. 2026. 9. 23.
사진과 동영상을 ZIP으로 묶으면 용량이 줄 거라는 생각, 실제로는 거의 그대로입니다 용량이 큰 사진 폴더나 동영상을 남에게 보낼 때, 일단 ZIP으로 압축하면 크기가 줄어들 거라 기대하는 경우가 많습니다. 그런데 막상 압축해 보면 원래 크기와 거의 같아서 의아했던 적이 있으실 겁니다.이건 압축 프로그램이 잘못된 것도, 설정을 틀린 것도 아닙니다. 파일 종류에 따라 ZIP이 줄일 수 있는 여지가 처음부터 정해져 있기 때문입니다. 네 종류의 파일을 같은 조건으로 압축해 그 차이를 직접 재 보겠습니다.같은 조건으로 압축해 본 결과주문 내역 CSV(글자로 된 표 데이터), 사진 JPG, 같은 그림을 저장한 PNG, 그리고 그 CSV를 한 번 압축해 둔 ZIP까지 네 파일을 준비했습니다. 모두 같은 방식(DEFLATE, 압축 레벨 9)으로 다시 압축하고, ZIP 안에서 실제로 차지하는 크기를 쟀.. 2026. 9. 22.
엑셀에서 숫자로 보이는데 합계가 0으로 나올 때 시스템에서 내려받은 표를 엑셀로 열고 금액 열에 SUM을 걸었더니 결과가 0입니다. 화면에는 분명히 1250, 3400 같은 숫자가 줄지어 있습니다.셀에는 보이는 값과 별개로 자료형이 함께 저장됩니다. 계산은 그 자료형을 봅니다. 같은 숫자를 두 방식으로 넣고 파일 안에 무엇이 저장되는지, SUM이 어떻게 갈리는지 직접 확인했습니다.화면은 같은데 파일 안이 다릅니다1250, 3400, 890, 12000, 5600 다섯 값을 두 열에 넣었습니다. 합은 23,140이어야 합니다. 한쪽은 그냥 숫자로, 다른 쪽은 셀 서식을 텍스트로 지정한 뒤 넣었습니다.넣은 방식화면 표시파일 속 자료형COUNTSUM숫자로 넣기1250n (숫자)5개23,140텍스트로 넣기1250s (문자)0개0파일 속 자료형은 xlsx를 열.. 2026. 9. 20.
시트가 5장인 엑셀을 CSV로 저장했더니 4장이 사라졌습니다 매출, 비용, 재고, 거래처, 요약. 다섯 장으로 나눠 정리한 장부를 CSV로 달라는 요청을 받고 다른 이름으로 저장을 눌렀습니다. 나중에 열어 보니 시트 하나 분량밖에 없습니다.CSV는 표 한 장을 담는 형식이라 시트라는 개념 자체가 없습니다. 저장 버튼을 눌렀을 때 실제로 무엇이 남고 무엇이 없어지는지, 시트 5장짜리 파일을 만들어 그대로 재현해 봤습니다.남는 것은 화면에 열려 있던 시트 한 장입니다다섯 장에 각각 다른 양의 자료를 넣고, 요약 시트를 화면에 띄운 상태에서 CSV로 저장했습니다. 결과 파일은 6행이었습니다. 요약 시트의 행 수 그대로입니다.시트행 수따로 뽑은 CSV엑셀 CSV 저장에 남았나매출1216,148 B사라짐비용814,115 B사라짐재고20110,224 B사라짐거래처462,47.. 2026. 9. 18.
작은 파일이 수천 개인 폴더는 압축해도 왜 별로 안 줄어들까 압축은 파일이 많을수록 이득이 커진다고 생각하기 쉽습니다. 여러 개를 하나로 묶는 일이니 그럴 법도 합니다. 그런데 텍스트만 든 폴더인데도 압축률이 안 나오는 경우가 있습니다.알맹이는 같고 몇 개의 파일로 쪼개져 있느냐만 다른 경우, 결과가 얼마나 갈리는지 직접 재 봤습니다. 총량을 300만 바이트로 고정하고 파일 개수만 1개에서 3,000개까지 늘렸습니다.내용이 같은데 압축 결과가 세 배 차이 났습니다주문 내역 형태의 텍스트를 만들어 총 3,000,000바이트를 채웠습니다. 1개짜리 파일 하나로 담은 경우부터 1KB씩 3,000개로 쪼갠 경우까지 네 가지를 준비하고 같은 방식으로 압축했습니다.파일 개수ZIP 크기ZIP 압축률TAR.GZ 크기TAR.GZ 압축률1개398,190 B13.3 %366,080 .. 2026. 9. 17.
PDF인데 글자가 복사도 검색도 안 될 때, 무엇을 확인해야 할까 관공서나 은행에서 받은 PDF를 열었는데 글자를 드래그하면 잡히지 않고, Ctrl+F로 아는 단어를 검색해도 아무것도 안 나오는 경우가 있습니다. 화면에는 글자가 멀쩡히 보이는데 말입니다. 고장이 아닙니다. 그 PDF 안에는 애초에 글자가 들어 있지 않습니다. 종이를 스캔해 사진으로 넣은 문서라서 그렇습니다. 같은 내용을 두 방식으로 만들어 안을 열어 보면 차이가 분명해집니다.안에 든 것이 다릅니다같은 7줄짜리 문서를 두 번 만들었습니다. 하나는 글자를 그려 넣었고, 하나는 같은 내용을 그림으로 그린 뒤 PDF로 저장했습니다. 스캔본과 같은 구조입니다. 측정 환경은 윈도우 11, 파이썬 3.12.10, pypdf 6.14.2입니다.세 가지가 갈립니다.첫째, 꺼낼 수 있는 글자. 글자로 그린 쪽은 141자.. 2026. 9. 16.
스캔한 계약서 PDF가 너무 무거울 때, 안에 든 사진을 다시 압축해 줄이기 계약서를 스캔해 받은 PDF가 세 쪽인데 1.4MB입니다. 글자만 있는 문서인데 사진 몇 장보다 무겁습니다. 편집기의 최적화 기능을 눌러도 몇 킬로바이트밖에 안 빠집니다.스캔본 안에는 글자가 아니라 페이지를 통째로 찍은 사진이 들어 있기 때문입니다. 줄이려면 그 사진을 꺼내 다시 압축해야 합니다. 실제로 3쪽짜리 스캔본을 만들어 놓고 해상도를 단계별로 낮춰 가며 어디까지 줄어드는지, 어디서부터 글자가 상하는지 재 봤습니다. 왜 최적화 버튼이 안 듣는가일반적인 PDF 최적화는 글꼴 정보를 정리하고 중복된 자원을 합치는 식으로 동작합니다. 글자로 만들어진 문서라면 이것만으로도 꽤 줄어듭니다.그런데 스캔본에는 정리할 글꼴이 없습니다. 한 쪽이 커다란 JPEG 한 장이고, PDF는 그 사진을 담는 봉투 역할만 .. 2026. 9. 15.
사진을 잘라냈는데 용량이 그대로이거나 오히려 커졌다면 메일에 첨부하려고 사진에서 필요 없는 부분을 잘라냈습니다. 화면에서 보이는 크기는 확실히 작아졌는데, 파일 크기는 기대만큼 안 줄었습니다. 어떤 때는 원본보다 커져 있기도 합니다.자르기는 픽셀을 덜어 내는 일이지만, 저장은 남은 부분을 처음부터 다시 압축하는 일입니다. 그래서 결과가 픽셀 수만으로 정해지지 않습니다. 같은 사진에서 자를 자리와 저장 품질만 바꿔 가며 직접 재 봤습니다.같은 크기로 잘랐는데 용량이 26배 차이 났습니다위쪽은 하늘처럼 매끈하고 아래쪽은 수풀처럼 잔결이 많은 2400 x 1600 사진을 준비했습니다. 여기서 똑같이 1200 x 800씩, 자리만 달리해 두 군데를 잘랐습니다. 픽셀 수는 둘 다 원본의 25퍼센트입니다.무엇을 남겼나픽셀 수파일 크기원본 대비원본2400 x 16005.. 2026. 9. 14.
사진 수백 장 이름을 찍은 날짜로 한 번에 바꾸기 여행 사진을 폴더에 모아 두면 이름이 IMG_1042, IMG_1043처럼 번호만 남습니다. 여러 기기에서 모은 사진이라면 번호가 뒤섞여 순서도 맞지 않습니다. 사진 안에는 찍은 시각이 들어 있으니 그 값으로 이름을 바꾸면 정렬이 저절로 맞습니다. 다만 실제로 돌려 보면 모든 파일이 바뀌지는 않습니다. 사진 5장으로 세 가지 경우를 다 만들어 스크립트를 돌려 봤습니다. 돌려 보니 세 갈래로 갈렸습니다측정 환경은 윈도우 11, 파이썬 3.12.10, Pillow 12.3.0입니다. EXIF에 촬영일을 심은 사진 3장과 촬영일이 없는 사진 2장을 만들어, 이름을 촬영일_시각 형태로 바꾸게 했습니다.세 장은 바뀌었고 두 장은 그대로입니다. 갈린 이유가 각각 다릅니다.첫째, 같은 초에 찍힌 사진. 연사로 찍으.. 2026. 9. 13.