📊 CSV 파일을 다루는 법 – 데이터 분석을 위한 필수 기술!
데이터 분석을 시작하려면 CSV(Comma-Separated Values) 파일을 다루는 법을 알아야 해요.
CSV 파일은 엑셀과 유사한 형식으로, 데이터 저장과 공유에 가장 많이 사용되는 포맷이고요.
파이썬에서는 pandas와 csv 모듈을 활용해 CSV 데이터를 처리할 수 있어요! 😊
이 글에서는 CSV 파일을 읽고, 쓰고, 수정하는 방법을 실전 예제와 함께 익혀볼게요. 🚀
💡 학습할 내용:
- CSV 파일이란?
- CSV 파일을 파이썬에서 불러오기 (pandas.read_csv, csv.reader)
- CSV 파일을 저장하기 (pandas.to_csv, csv.writer)
- CSV 데이터 수정 및 필터링
- 실전 예제 및 활용법
🤔 1. CSV 파일이란?
CSV(Comma-Separated Values) 파일은 데이터를 쉼표(,)로 구분하여 저장하는 파일 형식입니다.
📌 CSV 파일 예제 (data.csv)
이름,나이,직업
김철수,25,개발자
이영희,30,마케팅
박지훈,27,디자이너
✅ CSV 파일의 특징
- 텍스트 기반의 데이터 파일
- 엑셀, 데이터베이스, 웹에서 쉽게 사용할 수 있음
- 각 행(Row)은 하나의 데이터 항목을 의미
- 각 열(Column)은 특정한 속성을 나타냄
📌 결론: CSV는 데이터 저장과 분석을 위해 사용되는 파일 형식 중 하나입니다! 😊
📖 2. CSV 파일 읽기 (pandas.read_csv, csv.reader)
파이썬에서는 CSV 파일을 읽는 방법이 두 가지 있습니다.
1️⃣ pandas.read_csv() – 간편한 CSV 파일 읽기
import pandas as pd
# CSV 파일 읽기
df = pd.read_csv("data.csv")
print(df)
✅ 출력 결과
이름 나이 직업
0 김철수 25 개발자
1 이영희 30 마케팅
2 박지훈 27 디자이너
📌 pandas.read_csv()는 데이터를 자동으로 표 형태로 불러옴
2️⃣ csv.reader() – 기본적인 CSV 파일 읽기
import csv
with open("data.csv", "r", encoding="utf-8") as file:
reader = csv.reader(file)
for row in reader:
print(row)
✅ 출력 결과
['이름', '나이', '직업']
['김철수', '25', '개발자']
['이영희', '30', '마케팅']
['박지훈', '27', '디자이너']
📌 csv.reader()는 리스트 형태로 데이터를 불러옴
✍️ 3. CSV 파일 저장 (pandas.to_csv, csv.writer)
1️⃣ pandas.to_csv() – 데이터프레임을 CSV 파일로 저장
import pandas as pd
# 데이터 생성
data = {"이름": ["김철수", "이영희", "박지훈"],
"나이": [25, 30, 27],
"직업": ["개발자", "마케팅", "디자이너"]}
# 데이터프레임 생성
df = pd.DataFrame(data)
# CSV 파일로 저장
df.to_csv("output.csv", index=False, encoding="utf-8-sig")
✅ 출력 파일 (output.csv)
이름,나이,직업
김철수,25,개발자
이영희,30,마케팅
박지훈,27,디자이너
📌 index=False를 설정하면 불필요한 인덱스 열이 저장되지 않음
2️⃣ csv.writer() – 기본적인 CSV 파일 저장
import csv
data = [["이름", "나이", "직업"],
["김철수", 25, "개발자"],
["이영희", 30, "마케팅"],
["박지훈", 27, "디자이너"]]
with open("output.csv", "w", newline="", encoding="utf-8") as file:
writer = csv.writer(file)
writer.writerows(data)
📌 csv.writer()는 데이터를 리스트 형태로 저장 가능
🔄 4. CSV 데이터 수정 및 필터링
1️⃣ 특정 열(Columns)만 가져오기
import pandas as pd
df = pd.read_csv("data.csv")
print(df[["이름", "직업"]])
✅ 출력 결과
이름 직업
0 김철수 개발자
1 이영희 마케팅
2 박지훈 디자이너
2️⃣ 특정 조건(Row)만 필터링하기
# 나이가 27 이상인 데이터만 출력
filtered_df = df[df["나이"] >= 27]
print(filtered_df)
✅ 출력 결과
이름 나이 직업
1 이영희 30 마케팅
2 박지훈 27 디자이너
📌 CSV 데이터를 활용하여 필요한 정보만 가져와서 분석할 수 있음! 🚀
📖 5. 실전 연습 문제
✏️ 문제 1: CSV 파일에서 특정 값 출력하기
📌 data.csv에서 '나이'가 26 이상인 사람만 출력하는 프로그램을 작성하세요.
import pandas as pd
df = pd.read_csv("data.csv")
filtered_df = df[df["나이"] >= 26]
print(filtered_df)
✅ 출력 예시
이름 나이 직업
1 이영희 30 마케팅
2 박지훈 27 디자이너
✏️ 문제 2: 새로운 데이터를 CSV 파일에 추가하기
📌 기존 data.csv 파일에 새로운 사람 정보를 추가하는 코드를 작성하세요.
import pandas as pd
data = pd.DataFrame({"이름": ["최민수"], "나이": [35], "직업": ["데이터 분석가"]})
data.to_csv("data.csv", mode='a', header=False, index=False, encoding='utf-8-sig')
✅ 출력 결과 (data.csv 파일이 업데이트됨)
이름,나이,직업
김철수,25,개발자
이영희,30,마케팅
박지훈,27,디자이너
최민수,35,데이터 분석가
✏️ 문제 3: 특정 열의 평균 값 계산하기
📌 data.csv에서 '나이' 열의 평균을 계산하는 프로그램을 작성하세요.
import pandas as pd
df = pd.read_csv("data.csv")
print("평균 나이:", df["나이"].mean())
✅ 출력 예시
평균 나이: 29.25
✏️ 문제 4: 특정 조건을 만족하는 데이터 삭제하기
📌 'data.csv'에서 '마케팅' 직업을 가진 사람을 삭제하고 저장하는 코드를 작성하세요.
import pandas as pd
df = pd.read_csv("data.csv")
df = df[df["직업"] != "마케팅"]
df.to_csv("data.csv", index=False, encoding='utf-8-sig')
✅ 출력 결과 (data.csv에서 '마케팅' 직업을 가진 데이터 삭제됨)
이름,나이,직업
김철수,25,개발자
박지훈,27,디자이너
최민수,35,데이터 분석가
📢 6. 마무리 및 다음 학습
이 글에서는 CSV 파일을 파이썬에서 읽고, 쓰고, 수정하는 방법을 살펴봤어요.
CSV는 데이터 분석과 머신러닝의 기초가 되는 중요한 파일 형식이니 꼭 익혀두기로 해요! 😊
✅ 다음 추천 학습 주제
🔹 파이썬을 활용한 데이터 시각화 (Matplotlib & Seaborn)
'AI와 친해지기 > AI를 직접해볼까?' 카테고리의 다른 글
[Python기초] Pandas를 활용한 데이터 시각화 (0) | 2025.02.17 |
---|---|
[Python기초] AI개발자를 위한 Pandas & Numpy 기초 (1) | 2025.02.16 |
[Python기초] AI개발자를 위한 JSON 파일 다루기 (8) | 2025.02.14 |
[Python 기초] AI 개발자를 위한 파일 입출력(File I/O) 활용하기 (1) | 2025.02.13 |
[Python 기초] AI 개발자를 위한 클래스, 객체 지향 프로그래밍 (2) | 2025.02.12 |