Python/Python 입출력 및 데이터 처리

Python 입출력 완벽 정리! 파일 읽고 쓰기, CSV, JSON 데이터 처리까지 - 코드카인 티스토리

CodeCaine Explorer 2025. 2. 12. 14:03
SMALL

Python 입출력 및 데이터 처리: 파일 다루기부터 데이터 변환까지!

Python을 사용하다 보면 데이터를 입력받고 출력하는 과정이 필수적으로 필요해요.
예를 들어, 사용자로부터 입력을 받고, 파일을 읽고 쓰고, 데이터를 변환하는 작업 등이 포함돼요.

이 글에서는 입출력(I/O) 처리데이터 변환에 집중해서 정리해볼게요!
(기초 문법, 자료형, 함수, 클래스 등과 겹치지 않도록) 😊


1. 표준 입력과 출력 (Standard I/O)

🔹 표준 출력 (print)

print() 함수는 데이터를 출력하는 가장 기본적인 방법이에요.

print("Hello, Python!")  # Hello, Python! 출력
print(10 + 5)  # 15 출력

💡 print() 함수에서 여러 개의 값을 출력할 때 쉼표(,)로 구분하면 자동으로 공백이 추가돼요.

print("이름:", "Alice", "나이:", 25)  
# 출력: 이름: Alice 나이: 25

🔹 줄바꿈 없이 출력하기

기본적으로 print()는 출력 후 자동으로 줄바꿈이 돼요.
줄바꿈을 원하지 않으면 end="" 옵션을 사용하면 돼요.

print("Hello", end=" ")
print("Python!")

출력 결과:

Hello Python!

🔹 표준 입력 (input)

사용자로부터 데이터를 입력받을 때는 input()을 사용해요.

name = input("이름을 입력하세요: ")  
print(f"안녕하세요, {name}님!")

💡 input()은 항상 문자열(String)로 값을 반환해요!
숫자를 입력받으려면 int() 또는 float()로 변환해야 해요.

age = int(input("나이를 입력하세요: "))  # 문자열을 정수(int)로 변환
print(f"내년 나이는 {age + 1}살입니다.")

2. 파일 입출력 (File I/O)

Python에서는 open() 함수를 사용해 파일을 읽고 쓰는 작업을 할 수 있어요.

파일객체 = open("파일경로", "모드")
모드 설명
"r" 읽기 모드 (기본값)
"w" 쓰기 모드 (기존 파일 삭제 후 새로 생성)
"a" 추가 모드 (기존 내용 유지하면서 추가)
"b" 바이너리 모드 (이미지, 동영상 등)

🔹 파일 쓰기 (write)

파일에 데이터를 저장하려면 "w" 모드로 열고 write()를 사용하면 돼요.

with open("example.txt", "w") as file:
    file.write("Hello, Python!\n")
    file.write("파일 입출력 배우기")

💡 with open()을 사용하면 파일을 자동으로 닫아줘서 안전해요!
별도로 file.close()를 호출하지 않아도 돼요.


🔹 파일 읽기 (read)

파일의 내용을 읽을 때는 "r" 모드를 사용해요.

with open("example.txt", "r") as file:
    content = file.read()
    print(content)

🔹 한 줄씩 읽기 (readline)

파일에서 한 줄씩 읽고 싶다면 readline()을 사용하면 돼요.

with open("example.txt", "r") as file:
    line = file.readline()
    print(line)

🔹 여러 줄 읽기 (readlines)

파일의 모든 줄을 리스트(List)로 가져오려면 readlines()를 사용해요.

with open("example.txt", "r") as file:
    lines = file.readlines()
    for line in lines:
        print(line.strip())  # 줄 끝의 개행 문자 제거

3. CSV 파일 다루기 (데이터 처리)

CSV(Comma-Separated Values) 파일은 데이터를 저장할 때 많이 사용돼요.
Python에서는 csv 모듈을 이용해 CSV 파일을 쉽게 다룰 수 있어요.

🔹 CSV 파일 쓰기 (csv.writer)

import csv

data = [
    ["이름", "나이", "도시"],
    ["Alice", 25, "Seoul"],
    ["Bob", 30, "Busan"]
]

with open("people.csv", "w", newline="") as file:
    writer = csv.writer(file)
    writer.writerows(data)

💡 newline=""을 사용하면 자동으로 줄바꿈이 생기는 문제를 방지할 수 있어요!


🔹 CSV 파일 읽기 (csv.reader)

import csv

with open("people.csv", "r") as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

출력 결과:

['이름', '나이', '도시']
['Alice', '25', 'Seoul']
['Bob', '30', 'Busan']

4. JSON 파일 다루기

JSON(JavaScript Object Notation)은 데이터를 저장하고 교환하는데 많이 사용하는 포맷이에요.
Python에서는 json 모듈을 사용해 JSON 데이터를 쉽게 다룰 수 있어요.

🔹 JSON 파일 저장 (json.dump)

import json

data = {"name": "Alice", "age": 25, "city": "Seoul"}

with open("data.json", "w") as file:
    json.dump(data, file, ensure_ascii=False, indent=4)

💡 ensure_ascii=False를 설정하면 한글도 정상적으로 저장돼요!


🔹 JSON 파일 불러오기 (json.load)

import json

with open("data.json", "r") as file:
    data = json.load(file)

print(data)  # {'name': 'Alice', 'age': 25, 'city': 'Seoul'}

😊 마무리하며...

Python에서는 데이터를 다루는 다양한 방법이 있어요!
표준 입출력, 파일 다루기, CSV와 JSON 데이터 처리까지 익혀두면 실무에서도 매우 유용해요.
이제 직접 실습해 보면서 활용해볼까요? 🚀

728x90
반응형
SMALL