3.6 데이터 입출력과 시각화 기초 (Data I/O & Viz Prep)

지금까지 배운 파이썬의 변수, 리스트, 제어문은 모두 컴퓨터의 메모리(RAM) 위에서 임시로 돌아가다가 프로그램이 꺼지면 흔적도 없이 증발하는 지식이었습니다.
학습목표
본 장부터는 데이터 분석의 진정한 첫걸음인 파일 입출력(File I/O)을 배웁니다. 내 하드디스크에 영구적으로 누적된 텍스트나 엑셀(CSV) 파일을 파이썬 공장으로 빨아들이고(Read), 파이썬에서 계산된 결과를 다시 하드디스크 창고에 단단히 박아넣는(Write) 스킬을 학습합니다. 나아가 이렇게 빨아들인 무미건조한 데이터를 파이썬 시각화의 대모(Mother) 격인 Matplotlib 붓을 이용해 아름다운 차트로 변환하는 짜릿한 종합 예술 실습을 완수합니다.
📑 세부 학습 목차
3.6.1 파일 입출력의 개념과 필요성
프로그램(휘발성 RAM)과 하드디스크(비휘발성 SSD) 사이를 가로막고 있는 거대한 성벽을 이해합니다. 왜 우리가 코드를 짤 때 귀찮게 ‘파일 파이프(Stream) 뚫기’와 ‘닫기’ 절차를 거쳐야만 하는지, 그 단기 기억상실증(휘발성) 극복의 근본 원리를 깨우칩니다.
3.6.2 파일 열기와 닫기 (open, with)
파이썬의 마스터키 open() 함수로 스트림 문을 여는 3가지 모드(r 읽기, w 새로 쓰기, a 이어 쓰기)를 장착합니다. 특히 개발자가 깜빡하고 파이프를 닫지(close) 않아 발생하는 끔찍한 메모리 누수 재앙을 원천 방어하기 위해 설계된 파이썬 최고의 우아한 안전장치, with open() 라이프사이클 컨텍스트(Context Manager)의 위력을 감상합니다. 자바의 지저분한 try-catch-finally와의 1:1 비교는 덤입니다.
3.6.3 데이터 분석 실습 (Matplotlib 맛보기)
이제 진짜 하드디스크에 있는 sales.csv 영업 장부를 파이썬 세계로 소환합니다. 한 줄 한 줄 읽어와 콤마(,)를 기준으로 썰어 리스트(List)에 예쁘게 포장하는 전처리(Preprocessing) 훈련을 수행합니다. 그리고 정제된 그 숫자 리스트를 꺼내 시각화의 캔버스(Figure)와 액자(Axes) 위에 물감을 뿌리듯 우아한 꺾은선 차트로 뽑아내는 1석 2조의 쾌감을 맛봅니다.
🎉 정리
파일 입출력의 관문을 넘었다는 것은, 이제 남이 던져준 한두 개의 변수가 아니라 세상에 존재하는 수백만 줄의 진짜 현실(Real-world) 빅데이터를 씹어먹을 수 있는 강력한 이빨을 얻었다는 뜻입니다. 여기에 화면에 선을 그리는 시각화(Matplotlib) 마법까지 손에 넣었으니, 다음 장(GUI 프로그래밍)에서는 이 멋진 결과물을 검은 터미널이 향기가 아닌, 화려한 윈도우 그래픽 창으로 예쁘게 포장하여 고객에게 배달하는 법을 터득하게 될 것입니다!