Python의 csv 라이브러리는 CSV(Comma Separated Values) 형식으로 작성된 데이터를 쉽게 다룰 수 있도록 해주는 모듈입니다. 이 라이브러리는 CSV 파일을 읽고 쓰는 데 사용됩니다.
CSV 파일은 엑셀 등 스프레드시트 프로그램에서도 자주 사용되며, 데이터를 테이블 형식으로 저장합니다. 각 행은 개행 문자로 구분되며, 각 열은 쉼표로 구분됩니다.
1. 기본 사용법
아래는 Python의 csv 라이브러리를 사용하여 CSV 파일을 읽고 쓰는 예시 코드입니다.
1) CSV 파일 읽기
import csv
with open('example.csv', 'r') as csvfile:
csvreader = csv.reader(csvfile)
for row in csvreader:
print(row)
위 코드는 'example.csv' 파일을 읽고, 각 행을 리스트로 변환하여 출력합니다.
2) CSV 파일 쓰기
import csv
with open('example.csv', 'w', newline='') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerow(['Name', 'Age', 'Gender'])
csvwriter.writerow(['John', '25', 'Male'])
csvwriter.writerow(['Jane', '30', 'Female'])
위 코드는 'example.csv' 파일을 열어, 리스트를 csv 형태로 변환하여 파일에 씁니다.
2. 기타 함수
1) csv.reader()
csv.reader() 함수는 CSV 파일을 읽어와서, 각 행을 리스트로 변환합니다. 이 함수는 CSV 파일 객체를 인자로 받으며, 인자로는 파일 경로나 파일 객체 등이 가능합니다.
import csv
with open('example.csv', 'r') as csvfile:
csvreader = csv.reader(csvfile)
for row in csvreader:
print(row)
위 코드에서 csv.reader() 함수는 'example.csv' 파일을 읽어와서 각 행을 리스트로 변환합니다. 그리고 for문을 사용하여 각 행을 출력합니다.
2) csv.writer()
csv.writer() 함수는 CSV 파일을 생성하고, 각 행을 리스트로 작성하여 파일에 씁니다. 이 함수는 CSV 파일 객체와 리스트 형식의 데이터를 인자로 받습니다.
import csv
with open('example.csv', 'w', newline='') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerow(['Name', 'Age', 'Gender'])
csvwriter.writerow(['John', '25', 'Male'])
csvwriter.writerow(['Jane', '30', 'Female'])
위 코드에서 csv.writer() 함수는 'example.csv' 파일을 생성하고, 각 행을 리스트로 작성하여 파일에 씁니다.
3) csv.DictReader()
csv.DictReader() 함수는 CSV 파일을 읽어와서 각 행을 딕셔너리 형식으로 변환합니다. 이 함수는 CSV 파일 객체를 인자로 받으며, 첫 번째 행이 딕셔너리의 키로 사용됩니다.
import csv
with open('example.csv', 'r') as csvfile:
csvreader = csv.DictReader(csvfile)
for row in csvreader:
print(row['Name'], row['Age'], row['Gender'])
위 코드에서 csv.DictReader() 함수는 'example.csv' 파일을 읽어와서 각 행을 딕셔너리 형식으로 변환합니다. 그리고 for문을 사용하여 딕셔너리의 각 값을 출력합니다.
4) csv.DictWriter()
csv.DictWriter() 함수는 CSV 파일을 생성하고, 각 행을 딕셔너리 형식으로 작성하여 파일에 씁니다. 이 함수는 CSV 파일 객체와 딕셔너리 형식의 데이터를 인자로 받습니다.
import csv
with open('example.csv', 'w', newline='') as csvfile:
fieldnames = ['Name', 'Age', 'Gender']
csvwriter = csv.DictWriter(csvfile, fieldnames=fieldnames)
csvwriter.writeheader()
csvwriter.writerow({'Name': 'John', 'Age': '25', 'Gender': 'Male'})
csvwriter.writerow({'Name': 'Jane', 'Age': '30', 'Gender': 'Female'})
위 코드에서 csv.DictWriter() 함수는 'example.csv' 파일을 생성하고, 각 행을 딕셔너리 형식에서 csv형식으로 변환하여 파일에 씁니다.
'라이브러리' 카테고리의 다른 글
파이썬(Python) bisect 사용법 정리 (0) | 2023.03.03 |
---|---|
파이썬(Python) heapq 사용법 정리 (0) | 2023.03.02 |
파이썬(Python) memoryview 사용법 정리 (0) | 2023.03.02 |
파이썬(Python) random 사용법 정리 (0) | 2023.03.01 |
파이썬(Python) itertools 사용법 정리 (0) | 2023.03.01 |