티스토리 뷰
파이썬에서 CSV 파일을 읽고 쓰는 방법에 대해 알아보겠습니다. CSV 파일은 Comma-Separated Values의 약자로, 쉼표로 구분된 텍스트 데이터를 저장하는 파일 형식입니다. CSV 파일은 엑셀이나 구글 스프레드시트와 같은 스프레드시트 프로그램에서 쉽게 열고 편집할 수 있으며, 다양한 데이터 분석이나 머신러닝 작업에도 유용하게 사용됩니다.
파이썬에서 CSV 파일을 다루기 위해서는 내장 모듈인 csv를 임포트해야 합니다.
csv 모듈은 CSV 파일을 읽고 쓰는 데 필요한 여러 가지 함수와 클래스를 제공합니다. 예를 들어, csv.reader() 함수는 CSV 파일을 열고 각 행을 리스트로 변환하는 반복자(iterator)를 반환합니다.
csv.writer() 함수는 CSV 파일을 쓰기 모드로 열고 각 행을 리스트로 받아서 쉼표로 구분된 문자열로 변환하는 객체를 반환합니다.
CSV 파일을 읽는 가장 간단한 방법은 다음과 같습니다.
python
import csv
# CSV 파일 열기
with open('example.csv', 'r') as f:
# csv.reader 객체 생성
reader = csv.reader(f)
# 각 행을 리스트로 읽기
for row in reader:
print(row)
이 코드는 example.csv라는 파일을 읽기 모드로 열고, csv.reader 객체를 생성하여 각 행을 리스트로 읽어서 출력합니다. 예를 들어, example.csv 파일의 내용이 다음과 같다면,
name,age,gender
Alice,20,F
Bob,25,M
Charlie,30,M
코드의 출력 결과는 다음과 같습니다.
['name', 'age', 'gender']
['Alice', '20', 'F']
['Bob', '25', 'M']
['Charlie', '30', 'M']
CSV 파일을 쓰는 가장 간단한 방법은 다음과 같습니다.
import csv
# CSV 파일 열기
with open('output.csv', 'w') as f:
# csv.writer 객체 생성
writer = csv.writer(f)
# 헤더 행 쓰기
writer.writerow(['name', 'age', 'gender'])
# 데이터 행 쓰기
writer.writerow(['David', '35', 'M'])
writer.writerow(['Eve', '40', 'F'])
writer.writerow(['Frank', '45', 'M'])
이 코드는 output.csv라는 파일을 쓰기 모드로 열고, csv.writer 객체를 생성하여 헤더 행과 데이터 행을 리스트로 받아서 쉼표로 구분된 문자열로 변환하여 씁니다. 예를 들어, 코드의 실행 결과로 생성된 output.csv 파일의 내용은 다음과 같습니다.
name,age,gender
David,35,M
Eve,40,F
Frank,45,M
csv 모듈은 CSV 파일을 다루는 데 더 많은 기능과 옵션을 제공합니다. 예를 들어, csv.DictReader() 클래스는 CSV 파일의 각 행을 딕셔너리로 변환하는 반복자를 반환하며, csv.DictWriter() 클래스는 딕셔너리를 받아서 CSV 파일에 쓰는 객체를 반환합니다. 또한, delimiter 파라미터를 사용하면 쉼표 대신 다른 문자를 구분자로 사용할 수 있습니다. 자세한 내용은 공식 문서(https://docs.python.org/3/library/csv.html)를 참고하세요.
'프로그래밍' 카테고리의 다른 글
파이썬(python) 파일 읽기 쓰기 (open) (0) | 2023.04.16 |
---|---|
python import 총정리 (0) | 2023.04.16 |
iOS swift로 파일 처리하기(FileManager) (0) | 2023.04.15 |
iOS앱 개발 - Alert창 만들기 Swift (0) | 2023.01.20 |
Python 에서 함수 만드는 법 예제 (0) | 2023.01.20 |
- Total
- Today
- Yesterday
- Python
- WinAPI
- Java
- 주식
- 투자
- CSS
- ChatGPT
- react
- JavaScript
- Spring
- SWiFT
- Backend
- golang
- 부동산
- go
- Windows
- 파이썬
- 스핀락
- Linux
- 커널드라이버
- HTML
- 생각
- frida
- 트렌드
- ios
- reactjs
- Frontend
- JSX
- 예제
- 유튜브
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |