PANDAS 썸네일형 리스트형 커진 CSV를 gzip으로 압축하기, 얼마나 줄고 압축한 채로 바로 읽을 수 있을까? 로그나 내역 데이터를 CSV로 쌓다 보면 파일이 수십 메가바이트까지 불어납니다.텍스트라 압축이 잘 먹는데, 그렇다고 매번 압축을 풀었다 다시 읽자니 번거롭습니다. 그래서 두 가지가 궁금해집니다. gzip으로 묶으면 얼마나 줄고, 압축을 풀지 않은 채로 바로 읽을 수는 없을까? 테스트 했습니다. 결론부터 말하면 CSV는 gzip으로 4배 넘게 줄고,압축을 풀지 않고도 그대로 읽을 수 있습니다.실제 데이터로 확인해 보겠습니다. 20만 행 CSV로 압축률을 재 봤습니다도시, 상태, 금액처럼 반복되는 값이 섞인 20만 행짜리 CSV를 만들어일반 저장과 gzip 저장을 나란히 비교했습니다. 측정 환경은 윈도우 11, 파이썬 3.14.3, pandas입니다.저장 방식용량원본 대비일반 CSV (.csv)7.5 MB.. 더보기 수백만 행 CSV를 pandas로 읽는 게 느릴 때, 읽기 속도를 끌어올리는 방법 수십 메가바이트가 넘는 CSV를 pd.read_csv로 불러올 때마다몇 초씩 기다리게 되면, 분석을 반복할수록 그 시간이 쌓입니다. 그런데 같은 파일이라도 읽는 방법을 조금만 바꾸면 훨씬 빨라집니다.무엇을 바꾸면 얼마나 빨라지는지 실제로 재 봤습니다.100만 행 CSV로 방법을 비교했습니다id, 도시, 금액 등 6개 열에 100만 행,약 40MB짜리 CSV를 만들어 네 가지 방법으로 읽어 시간을 쟀습니다. 측정 환경은 윈도우 11, 파이썬 3.14.3, pandas와 pyarrow입니다.각 방법을 여러 번 실행해 가장 빠른 값을 적었습니다.읽는 방법시간기본 대비기본 read_csv1.01초기준dtype 지정0.85초1.2배 빠름usecols로 필요한 3열만0.71초1.4배 빠름engine="pyarrow.. 더보기 Parquet 파일 받았는데 더블클릭해도 안 열립니다, 파이썬과 비전공자용 방법까지 데이터 분석을 하는 동료에게 자료를 받았더니 확장자가 .parquet인 파일이 와 있습니다. 평소처럼 더블클릭했는데 열리는 프로그램이 없거나, 메모장으로 억지로 열면 깨진 기호만 잔뜩 나옵니다.파일이 망가진 것이 아닙니다. Parquet는 사람이 눈으로 읽으라고 만든 형식이 아니라, 프로그램이 빠르게 읽도록 압축해 둔 데이터 파일입니다. 그래서 여는 방법이 따로 있습니다. 코드로 여는 법과, 코딩을 모르는 분을 위한 방법을 차례로 보여 드리겠습니다. 왜 메모장으로는 안 보일까먼저 이 점부터 짚고 가면 나머지가 쉬워집니다. CSV는 글자를 그대로 적어 둔 텍스트 파일이라 메모장으로도 읽힙니다. Parquet는 다릅니다. 값을 열(컬럼) 단위로 모아 압축하고, 맨 앞과 맨 뒤에 표식을 붙인 바이너리(이진) .. 더보기 받은 JSON을 엑셀로 봐야 할 때, XLSX로 변환하는 가장 깔끔한 방법 API에서 내려받은 데이터나 동료가 보내 준 파일이 .json인데, 정작 검토는 엑셀로 해야 하는 상황이 자주 생깁니다. 메모장으로 열면 중괄호와 따옴표가 빽빽해서 어디가 한 행인지조차 가늠이 안 됩니다.JSON을 엑셀(XLSX)로 바꾸는 일 자체는 코드 몇 줄이면 끝납니다. 다만 JSON이 평평한 표 모양이냐, 값 안에 또 값이 들어 있는 중첩 구조냐에 따라 결과가 크게 갈립니다. 실제로 변환해서 어떤 엑셀이 만들어지는지 직접 보여 드리겠습니다. 변환에 쓴 환경아래 모든 결과는 직접 돌려서 나온 값입니다. 측정 환경은 윈도우 11, 파이썬 3.14.3이고, 라이브러리는 pandas 3.0.1과 엑셀 기록 엔진인 openpyxl 3.1.5를 썼습니다. 두 라이브러리는 한 번만 설치하면 됩니다.pip in.. 더보기 CSV를 Parquet로 변환하기, 특별한 프로그램 없이 pandas 한 줄이면 됩니다 Parquet라는 이름을 처음 보면 전용 변환 프로그램이나 빅데이터 도구를 따로 깔아야 한다고 짐작하기 쉽습니다. 그래서 변환 자체를 어렵게 느끼고 미뤄 두는 경우가 많습니다.실제로는 파이썬의 pandas 라이브러리만 있으면 됩니다. CSV를 읽어 한 줄로 Parquet로 저장하면 끝이고, 별도 변환기는 필요 없습니다. 아래 단계를 그대로 따라 하면 한글이 섞인 CSV도 데이터 손실 없이 변환됩니다. 준비물부터 짧게변환에 쓰는 라이브러리는 두 개입니다. 표를 다루는 pandas, 그리고 Parquet 파일을 실제로 쓰고 읽는 엔진인 pyarrow입니다. 둘 다 한 번만 설치하면 됩니다.pip install pandas pyarrow이 글의 모든 수치는 윈도우 11, 파이썬 3.14.3, pandas 3... 더보기 이전 1 다음