본문 바로가기

분류 전체보기89

XML로 받은 데이터를 JSON으로 바꾸고 싶을 때, 표준 라이브러리만으로 해결하기 API나 설정 파일을 XML로 받았는데, 쓰려는 라이브러리나 프런트엔드는 JSON만 받는 상황을 만나신 적이 있을 것입니다. 둘 다 데이터를 담는 형식인데 모양이 달라서, 어떻게 옮겨야 깔끔한지 막연하게 느껴집니다.변환 자체는 파이썬 표준 라이브러리만으로 충분히 됩니다. 다만 XML에는 JSON에 없는 개념이 두 가지 있어서, 그 부분을 어떻게 처리하느냐가 결과 품질을 가릅니다. 한글이 섞인 실제 XML을 직접 변환해 가며 짚어 보겠습니다. 먼저 알아야 할 두 가지 걸림돌XML과 JSON은 닮았지만 다음 두 지점에서 1대1로 떨어지지 않습니다. 이 둘만 정리하면 나머지는 단순 매핑입니다.XML의 개념JSON에는?이 글의 처리 방식속성 (attribute), 예: id="b1"없음키 앞에 @를 붙여 보존속.. 2026. 7. 13.
SVG를 PNG로 변환하는 법, 출력 크기는 어떻게 정해야 할까 SVG 파일을 받았는데 막상 문서나 발표 자료에 넣으려니 PNG가 필요한 상황이 있습니다. 그런데 변환 도구를 열면 거의 항상 "너비"나 "배율" 같은 숫자를 물어봅니다. 사진을 다른 형식으로 바꿀 때는 묻지 않던 질문이라 당황스럽습니다.이 숫자를 왜 정해야 하는지부터 알면 변환이 훨씬 쉬워집니다. 결론부터 말하면 SVG는 정해진 픽셀 크기가 없는 형식이라, PNG로 바꾸는 순간 "몇 픽셀짜리로 그릴지"를 사람이 알려 줘야 하기 때문입니다.왜 PNG로 바꿀 때만 크기를 물을까PNG 같은 사진 형식은 작은 점(픽셀)을 격자에 채워 그림을 만듭니다. 그래서 파일 안에 이미 "가로 800, 세로 600" 같은 픽셀 수가 들어 있습니다. JPG를 PNG로 바꿀 때 크기를 안 물어보는 이유가 여기 있습니다. 원본.. 2026. 7. 12.
앱이 만든 .db 파일, 안에 든 데이터를 들여다보는 단계별 방법 스마트폰 앱이나 프로그램 폴더를 뒤지다 보면 확장자가 .db인 파일이 종종 나옵니다. 메모장으로 열면 알아볼 수 없는 글자가 잔뜩 보이고, 정작 안에 어떤 기록이 들어 있는지는 보이지 않습니다.이런 .db는 대부분 SQLite라는 작은 데이터베이스 파일입니다. 표 형태의 데이터가 여러 개 담겨 있어서, 메모장 같은 텍스트 편집기로는 제대로 읽히지 않습니다. 안을 들여다보려면 표를 꺼내 주는 도구가 필요합니다. 코드 없이 클릭으로 여는 방법과, 파이썬으로 직접 꺼내는 방법을 차례로 정리하겠습니다.들여다본다는 건 결국 세 가지를 본다는 뜻입니다.db 안을 본다고 할 때 실제로 확인하게 되는 것은 보통 다음 셋입니다. 이 순서대로 보면 처음 보는 파일도 구조가 잡힙니다.보는 것무엇을 알 수 있나테이블 목록이 .. 2026. 7. 11.
PNG를 JPG로 바꾸면 용량이 얼마나 줄까, 두 종류 이미지로 직접 재 봤습니다 스크린샷이나 사진을 PNG로 저장해 두면 한 장에 1MB를 훌쩍 넘기는 경우가 흔합니다. 메일에 첨부하거나 블로그에 올릴 때 무거워서, JPG로 바꾸면 가벼워진다는 말을 듣고 변환을 떠올리게 됩니다.그런데 JPG로 바꾼다고 항상 작아지지는 않습니다. 같은 변환인데 어떤 그림은 5분의 1로 줄고, 어떤 그림은 오히려 5배 넘게 불어납니다. 그 갈림길이 어디인지, 두 종류 이미지를 실제로 만들어 저장해 본 용량으로 보여 드리겠습니다. 사진형과 그래픽형, 두 장을 만들어 쟀습니다측정 환경은 윈도우 11, 파이썬 3.14.3, 이미지 라이브러리 Pillow 12.2.0입니다. 800x600 크기로 두 종류를 만들었습니다. 하나는 색이 미세하게 다 다른 사진형(그라데이션에 잡음을 섞은 그림), 다른 하나는 같은 .. 2026. 7. 10.
Parquet 파일 받았는데 더블클릭해도 안 열립니다, 파이썬과 비전공자용 방법까지 데이터 분석을 하는 동료에게 자료를 받았더니 확장자가 .parquet인 파일이 와 있습니다. 평소처럼 더블클릭했는데 열리는 프로그램이 없거나, 메모장으로 억지로 열면 깨진 기호만 잔뜩 나옵니다.파일이 망가진 것이 아닙니다. Parquet는 사람이 눈으로 읽으라고 만든 형식이 아니라, 프로그램이 빠르게 읽도록 압축해 둔 데이터 파일입니다. 그래서 여는 방법이 따로 있습니다. 코드로 여는 법과, 코딩을 모르는 분을 위한 방법을 차례로 보여 드리겠습니다. 왜 메모장으로는 안 보일까먼저 이 점부터 짚고 가면 나머지가 쉬워집니다. CSV는 글자를 그대로 적어 둔 텍스트 파일이라 메모장으로도 읽힙니다. Parquet는 다릅니다. 값을 열(컬럼) 단위로 모아 압축하고, 맨 앞과 맨 뒤에 표식을 붙인 바이너리(이진) .. 2026. 7. 9.
확장자가 .jsonl인데 JSON이 깨진 게 아닙니다, JSON Lines(NDJSON) 정체와 일반 JSON과의 차이 데이터를 내려받았더니 확장자가 .jsonl이거나, 메모장으로 열어 보니 줄마다 중괄호로 시작하는 객체가 따로따로 적혀 있어 당황하는 경우가 있습니다. 평소 보던 JSON처럼 맨 앞에 대괄호 [가 없고, 객체 사이를 쉼표로 잇지도 않아서 깨진 파일로 오해하기 쉽습니다.이건 망가진 JSON이 아니라 JSON Lines라는 정상 형식입니다. NDJSON(Newline Delimited JSON)이라고도 부릅니다. 규칙은 단순합니다. 한 줄에 완결된 JSON 객체 하나를 넣고, 객체와 객체는 쉼표가 아니라 줄바꿈으로 구분합니다. 한 줄로 말하면일반 JSON 배열은 데이터를 하나의 큰 덩어리 [ {...}, {...} ]로 묶습니다. JSON Lines는 그 묶음을 풀어 객체마다 한 줄씩 세워 둔 것입니다. 그래.. 2026. 7. 7.
받은 JSON을 엑셀로 봐야 할 때, XLSX로 변환하는 가장 깔끔한 방법 API에서 내려받은 데이터나 동료가 보내 준 파일이 .json인데, 정작 검토는 엑셀로 해야 하는 상황이 자주 생깁니다. 메모장으로 열면 중괄호와 따옴표가 빽빽해서 어디가 한 행인지조차 가늠이 안 됩니다.JSON을 엑셀(XLSX)로 바꾸는 일 자체는 코드 몇 줄이면 끝납니다. 다만 JSON이 평평한 표 모양이냐, 값 안에 또 값이 들어 있는 중첩 구조냐에 따라 결과가 크게 갈립니다. 실제로 변환해서 어떤 엑셀이 만들어지는지 직접 보여 드리겠습니다.변환에 쓴 환경아래 모든 결과는 직접 돌려서 나온 값입니다. 측정 환경은 윈도우 11, 파이썬 3.14.3이고, 라이브러리는 pandas 3.0.1과 엑셀 기록 엔진인 openpyxl 3.1.5를 썼습니다. 두 라이브러리는 한 번만 설치하면 됩니다.pip ins.. 2026. 7. 6.
JSON "Expecting property name", "Expecting ',' delimiter" 오류, 증상별로 원인 찾고 고치기 JSON 파일을 읽히려는데 빨간 글씨로 이런 메시지가 뜬 적이 있을 것입니다.Expecting property name enclosed in double quotes: line 1 column 2 (char 1)Expecting ',' delimiter: line 1 column 15 (char 14)Illegal trailing comma before end of object: line 1 column 26 (char 25)웹에서는 흔히 "Unexpected token"으로, 파이썬에서는 위처럼 표시됩니다. 표현은 달라도 원인은 거의 정해져 있습니다. JSON은 문법이 까다로워서, 사람이 손으로 고치다 보면 쉼표 하나, 따옴표 하나에서 어긋나기 때문입니다.이 글은 자주 나오는 잘못된 JSON을 실제로 .. 2026. 7. 5.
CSV를 Parquet로 변환하기, 특별한 프로그램 없이 pandas 한 줄이면 됩니다 Parquet라는 이름을 처음 보면 전용 변환 프로그램이나 빅데이터 도구를 따로 깔아야 한다고 짐작하기 쉽습니다. 그래서 변환 자체를 어렵게 느끼고 미뤄 두는 경우가 많습니다.실제로는 파이썬의 pandas 라이브러리만 있으면 됩니다. CSV를 읽어 한 줄로 Parquet로 저장하면 끝이고, 별도 변환기는 필요 없습니다. 아래 단계를 그대로 따라 하면 한글이 섞인 CSV도 데이터 손실 없이 변환됩니다.준비물부터 짧게변환에 쓰는 라이브러리는 두 개입니다. 표를 다루는 pandas, 그리고 Parquet 파일을 실제로 쓰고 읽는 엔진인 pyarrow입니다. 둘 다 한 번만 설치하면 됩니다.pip install pandas pyarrow이 글의 모든 수치는 윈도우 11, 파이썬 3.14.3, pandas 3.0.. 2026. 7. 4.
같은 데이터를 CSV와 Parquet로 저장하면 용량과 읽기 속도가 얼마나 차이 날까 데이터 분석을 하다 보면 "그냥 CSV로 저장하면 되지, 왜 굳이 Parquet를 쓰지?"라는 의문이 들 때가 있습니다. 둘 다 표 형태 데이터를 담는 파일인데, 한쪽은 메모장으로도 열리고 한쪽은 그렇지도 않으니 더 그렇습니다.그렇다면 정확히 무엇이 다를까요. 용량은 얼마나 줄고, 읽는 속도는 얼마나 빨라질까요. 말로만 "Parquet가 효율적"이라고 하기보다, 같은 데이터를 두 형식으로 저장해 직접 재 봤습니다. 10만 행을 직접 만들어 두 형식으로 저장했습니다숫자 컬럼과 반복되는 문자 컬럼을 섞은 10만 행 데이터를 만들었습니다. 컬럼은 6개입니다. id(연번), amount(금액), score(점수), 그리고 도시, 등급, 부서처럼 같은 값이 계속 반복되는 범주형 문자 컬럼 3개입니다. 실제 업무 .. 2026. 7. 3.
JSON 한 줄 저장과 들여쓰기 저장, 용량이 얼마나 차이 날까 (실측과 정리 방법) API에서 받은 JSON을 메모장으로 열었더니 처음부터 끝까지 한 줄로 뭉쳐 있어 어디가 어디인지 읽기 어렵습니다. 반대로 보기 좋게 정리된 JSON을 저장했더니 파일이 부쩍 커져서 전송이 부담스러운 경우도 있습니다.이 두 가지는 같은 데이터의 양면입니다. JSON은 같은 내용을 한 줄로 압축(minify)해 저장할 수도, 들여쓰기로 정렬(pretty)해 저장할 수도 있고, 둘은 용량이 꽤 다릅니다. 얼마나 다른지 직접 재 보고, 상황에 맞게 바꾸는 방법을 정리하겠습니다. 같은 1,000행을 두 방식으로 저장해 재 봤습니다객체 1,000개가 담긴 배열(필드 5개: id, name, age, city, active)을 만들어 같은 데이터를 여러 방식으로 저장하고 크기를 쟀습니다. 측정 환경은 윈도우 11,.. 2026. 6. 30.
아이폰 사진 수백 장이 HEIC일 때, PC에서 한 번에 JPG로 바꾸는 법 아이폰으로 찍은 사진을 노트북으로 옮겨 폴더를 열었더니 파일이 전부 .heic로 깔려 있는 경우가 있습니다. 한두 장이면 모를까 휴가 사진 300장을 하나씩 변환할 수는 없는 노릇입니다.다행히 사진을 한 장씩 손볼 필요는 없습니다. 운영체제마다 여러 장을 한 번에 골라 JPG로 내보내는 길이 있고, 애초에 변환이 필요 없도록 아이폰 쪽을 손보는 방법도 있습니다. 상황별로 가장 빠른 길을 정리하겠습니다.먼저 내 상황에 맞는 길 고르기방법마다 준비물과 한계가 다릅니다. 무엇을 쓰는 환경인지에 따라 아래 표에서 한 줄을 고르면 됩니다.방법준비물여러 장 한 번에유의점윈도우 사진 앱HEIF 확장 기능 설치 필요할 수 있음가능버전에 따라 일괄 내보내기 메뉴 위치가 다름맥 미리보기맥 기본 내장가능여러 장 선택 후 한.. 2026. 6. 29.
사진만 보내면 위치는 안 새어 나간다? 사진 속 EXIF 확인하고 지우는 법 채팅이나 메일로 사진 한 장을 보낼 때, 흔히들 "이미지 안에는 그림만 들어 있으니 내 위치가 새어 나갈 일은 없다"고 생각합니다. 사진은 픽셀 덩어리일 뿐이라는 믿음 때문입니다.그런데 스마트폰이나 카메라로 찍은 JPEG에는 그림과 별개로 EXIF라는 정보 묶음이 같이 저장됩니다. 여기에는 촬영 기기, 촬영 시각, 그리고 경우에 따라 찍은 장소의 GPS 좌표까지 들어갈 수 있습니다. 즉 원본 사진을 그대로 전달하면 위치가 함께 따라갈 수 있습니다. EXIF가 정말 위치까지 담는지 직접 확인해 봤습니다말로만 설명하면 와닿지 않으니, 사진 한 장을 만들어 EXIF에 카메라 정보와 GPS 좌표를 넣어 저장한 뒤, 그 파일에서 어떤 정보가 읽히는지 실제로 꺼내 보았습니다. 측정 환경은 윈도우 11, 파이썬 3... 2026. 6. 29.
비밀번호 걸린 ZIP 만드는 법, 윈도우와 맥에서 안전하게 압축하기 견적서나 신분증 사본처럼 남이 보면 곤란한 파일을 메일로 보내야 할 때가 있습니다. 첨부 파일에 잠금을 걸어 두고 비밀번호는 따로 전달하고 싶은데, 막상 압축하려고 보면 어디서 암호를 넣어야 하는지 보이지 않습니다.윈도우 탐색기의 기본 압축 기능은 ZIP을 만들 수는 있어도 비밀번호를 걸지는 못합니다. 그래서 별도 도구가 필요한데, 이때 어떤 암호화 방식을 고르느냐가 보안을 크게 좌우합니다. 단계별로 만드는 법과 함께 그 차이를 짚어 보겠습니다. 먼저 알아 둘 점: 기본 압축은 암호를 못 건다윈도우에서 폴더를 우클릭해 나오는 [압축 ZIP 파일로 만들기]는 잠금 기능이 없습니다. 맥의 기본 압축(우클릭 [압축])도 마찬가지로 비밀번호 옵션을 제공하지 않습니다.프로그래밍으로 ZIP을 다루는 파이썬 표준 라.. 2026. 6. 28.