반응형
Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- Eclipse
- ArrayList
- 배열
- 정규식
- Array
- vscode
- Visual Studio Code
- CSS
- 인텔리제이
- 문자열
- input
- 테스트자동화
- 자바스크립트
- math
- IntelliJ
- SpringBoot
- 자바
- 단위테스트
- HashMap
- javascript
- junit
- 자바문법
- java테스트
- string
- Java
- 스프링부트
- junit5
- js
- list
- html
Archives
- Today
- Total
어제 오늘 내일
[Python 실전] 파이썬 딕셔너리를 CSV 파일로 저장하는 법 본문
1. 여러 개의 딕셔너리(리스트 형태) 저장하기
가장 흔한 경우입니다. 리스트 안에 여러 개의 딕셔너리가 들어 있는 형태(JSON 배열 형태)를 CSV로 저장할 때는 파이썬 내장 csv 모듈의 DictWriter를 사용합니다.
📌 실전 예제: 활용
import csv
# 저장할 데이터 (리스트 안의 딕셔너리 형태)
data = [
{"이름": "철수", "나이": 25, "직업": "개발자"},
{"이름": "영희", "나이": 30, "직업": "디자이너"},
{"이름": "민수", "나이": 28, "직업": "데이터 분석가"}
]
# 1. 파일 열기 (newline=''은 윈도우에서 줄바꿈 중복 방지)
with open("members.csv", "w", encoding="utf-8-sig", newline="") as f:
# 2. 필드 이름(컬럼명) 설정
fieldnames = ["이름", "나이", "직업"]
# 3. DictWriter 객체 생성
writer = csv.DictWriter(f, fieldnames=fieldnames)
# 4. 헤더(컬럼명) 쓰기
writer.writeheader()
# 5. 데이터 쓰기 (리스트 전체를 한 번에 저장)
writer.writerows(data)
print("CSV 파일 저장이 완료되었습니다.")
utf-8-sig: 엑셀에서 한글이 깨지지 않도록 인코딩하는 팁입니다.writeheader(): 딕셔너리의 키를 CSV의 첫 번째 줄(제목)로 만듭니다.
2. 단일 딕셔너리(Key-Value 쌍) 저장하기
하나의 딕셔너리에 담긴 정보를 '항목명-값'의 형태로 저장하고 싶을 때 사용합니다.
📌 실전 예제: Key와 Value를 두 컬럼으로 저장
import csv
user_info = {
"ID": "python_user",
"Level": 99,
"Status": "Active",
"Point": 1500
}
with open("user_info.csv", "w", encoding="utf-8-sig", newline="") as f:
writer = csv.writer(f)
# 제목 줄 추가
writer.writerow(["항목", "값"])
# 딕셔너리의 데이터를 한 줄씩 쓰기
for key, value in user_info.items():
writer.writerow([key, value])
3. 실무 끝판왕: Pandas 활용하기
데이터 양이 많고 복잡하다면 Pandas 라이브러리를 쓰는 것이 가장 빠르고 강력합니다.
📌 실전 예제: 활용
import pandas as pd
data = [
{"name": "Alice", "age": 25},
{"name": "Bob", "age": 30}
]
# 1. 딕셔너리 리스트를 데이터프레임으로 변환
df = pd.DataFrame(data)
# 2. 바로 CSV로 저장 (index=False는 왼쪽 번호 생략)
df.to_csv("data.csv", index=False, encoding="utf-8-sig")
📝 핵심 요약
- 표 형태의 데이터:
csv.DictWriter를 사용하여 Key를 헤더로, Value를 데이터로 저장한다. - 한글 깨짐 방지:
encoding="utf-8-sig"를 사용하면 엑셀에서 바로 열어도 한글이 깨지지 않는다. - 편의성: 복잡한 가공이 필요하다면
Pandas를 사용하는 것이 훨씬 효율적이다.
반응형
'IT > Python' 카테고리의 다른 글
| [Python 실전] 텍스트 파일을 읽어 딕셔너리로 변환하는 3가지 방법 (0) | 2026.06.13 |
|---|---|
| [Python 실전] 파이썬 딕셔너리를 TXT 파일로 저장하는 법 (0) | 2026.06.10 |
| [Python 실전] 파이썬 딕셔너리를 파일로 저장하는 법: JSON 활용 가이드 (0) | 2026.06.08 |
| [Python 실전] 딕셔너리로 코드 속도 10배 올리기: 메모이제이션(Memoization) (0) | 2026.06.07 |
| [Python 실전] "복잡한 JSON도 척척!" 중첩 딕셔너리 데이터 추출 기술 (0) | 2026.06.07 |
Comments
