시트가 5장인 엑셀을 CSV로 저장했더니 4장이 사라졌습니다
매출, 비용, 재고, 거래처, 요약. 다섯 장으로 나눠 정리한 장부를 CSV로 달라는 요청을 받고 다른 이름으로 저장을 눌렀습니다. 나중에 열어 보니 시트 하나 분량밖에 없습니다.CSV는 표 한 장을 담는 형식이라 시트라는 개념 자체가 없습니다. 저장 버튼을 눌렀을 때 실제로 무엇이 남고 무엇이 없어지는지, 시트 5장짜리 파일을 만들어 그대로 재현해 봤습니다.남는 것은 화면에 열려 있던 시트 한 장입니다다섯 장에 각각 다른 양의 자료를 넣고, 요약 시트를 화면에 띄운 상태에서 CSV로 저장했습니다. 결과 파일은 6행이었습니다. 요약 시트의 행 수 그대로입니다.시트행 수따로 뽑은 CSV엑셀 CSV 저장에 남았나매출1216,148 B사라짐비용814,115 B사라짐재고20110,224 B사라짐거래처462,47..
2026. 9. 18.
큰 CSV를 엑셀 대신 SQL로 다루기, SQLite에 불러와 조회하는 방법
수천 행짜리 CSV에서 도시별 매출 합계나 특정 조건의 주문만 뽑아내려면, 엑셀에서는 피벗 테이블과 필터를 여러 번 거쳐야 합니다. 이럴 때 CSV를 SQLite라는 가벼운 데이터베이스에 한 번 넣어 두면, SQL 한 줄로 원하는 집계를 바로 꺼낼 수 있습니다.SQLite는 서버를 따로 설치할 필요 없이 파일 하나로 동작하는 데이터베이스입니다. 파이썬에는 기본으로 들어 있어 별도 설치도 필요 없습니다. CSV를 넣고 조회하는 과정을 실제 데이터로 해 보겠습니다. 다룰 CSV주문 내역을 담은 간단한 CSV를 예로 씁니다.실제로는 수천, 수만 행이어도 방법은 같습니다.order_id,city,product,amount1,서울,키보드,320002,부산,마우스,180003,서울,모니터,210000... (..
2026. 7. 25.
Parquet 저장할 때 compression만 바꿨을 뿐인데 용량이 갈립니다, 코덱 3종 실측 비교
데이터를 Parquet로 저장하다 보면 compression 옵션에 snappy, gzip, zstd 같은 낯선 이름이 등장합니다.아무거나 골라도 열리기는 하니 대충 넘기기 쉽지만,이 한 줄이 파일 크기와 저장 속도를 꽤 크게 바꿔 놓습니다. 그래서 같은 데이터를 코덱만 바꿔 가며 실제로 저장해 크기와 시간을 재 봤습니다.결론부터 말하면 무조건 가장 작은 코덱이 정답은 아니었습니다. 30만 행을 코덱 네 가지로 저장해 봤습니다회원 명단 형태의 표 데이터 30만 행(컬럼 9개: id, name, age, city, category, status, amount, score, joined)을 만들고,같은 데이터를 코덱만 바꿔 저장했습니다.측정 환경은 윈도우 11, 파이썬 3.14.3, pandas와 pyarr..
2026. 7. 21.
CSV를 열었더니 주소 뒷부분이 옆 칸으로, 값 속 쉼표 때문에 열이 밀리는 문제
이름과 주소가 잘 정리돼 있던 CSV를 프로그램으로 읽었더니,주소 한 칸이 두 칸으로 쪼개지면서 그 뒤 금액까지 줄줄이 옆으로 밀려 버리는 경우가 있습니다.데이터는 멀쩡한데 표만 어긋난 것처럼 보입니다. 범인은 대개 값 안에 들어간 쉼표입니다. CSV는 쉼표로 칸을 나누는 형식이라,주소나 회사명처럼 값 자체에 쉼표가 들어 있으면그 지점에서 칸이 하나 더 생겨 버립니다. 실제로 재현하고 바로잡아 보겠습니다. 이런 데이터에서 문제가 생깁니다id, name, address, amount 네 칸짜리 CSV를 예로 들겠습니다.그런데 주소 값 안에 상세 번지를 쉼표로 붙여 놓았습니다.id,name,address,amount1,김민수,서울시 강남구 역삼동, 123-4,500002,이서연,부산시 해운대구 우동, 5-6..
2026. 7. 20.