AI와 친해지기/AI를 직접해볼까?

[Python기초] AI개발자를 위한 CSV 파일을 다루는 법

insight발자국 2025. 2. 15. 10:30

📊 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)