728x90
반응형
파이썬으로 CSV 파일 읽기(mode='r')
with 문 사용 - with 문을 사용해서 읽고 쓸 경우 파일을 닫을 필요가 없습니다.
import csv
with open('test.csv', 'r') as f:
reader = csv.reader(f)
for line in reader:
print(line)
['Name', ' Height']
['Robin', ' 170']
['Rudy', ' 150']
['Mike', ' 190']
['Hailey', ' 160']
with 문 사용하지 않는 경우
import csv
f = open('test.csv', 'r')
reader = csv.reader(f)
for line in reader:
print(line)
f.close()
파이썬으로 CSV 파일 쓰기(mode='w')
with 문 사용하는 경우
import csv
with open('test.csv', 'w') as f:
writer = csv.writer(f)
writer.writerow(['Name', 'Height'])
writer.writerow(['Robin', '170'])
writer.writerow(['Rudy', '150'])
with 문 사용하지 않는 경우
import csv
f = open('test.csv', 'w')
writer = csv.writer(f)
writer.writerow(['Name', 'Height'])
writer.writerow(['Robin', '170'])
writer.writerow(['Rudy', '150'])
f.close()
파이썬으로 CSV 파일에 row 추가(mode='a')
with 문 사용하는 경우
import csv
with open('test.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow(['Mike', '190'])
writer.writerow(['Hailey', '160'])
with 문 사용하지 않는 경우
import csv
f = open('test.csv', 'a', newline='')
writer = csv.writer(f)
writer.writerow(['Mike', '190'])
writer.writerow(['Hailey', '160'])
f.close()
Dict 형태 데이터 CSV 파일에 쓰기(mode='w')
with 문 사용하는 경우
import csv
with open('test.csv', 'w') as f:
data = [{'Name': 'Robin', 'Height': 170},
{'Name': 'Rudy', 'Height': 150},
{'Name': 'Mike', 'Height': 190},
{'Name': 'Hailey', 'Height': 160}]
writer = csv.DictWriter(f, fieldnames=data[0].keys()) # fieldnames=['Name', 'Height']
writer.writeheader()
writer.writerows(data)
with 문 사용하지 않는 경우
import csv
f = open('test.csv', 'w')
data = [{'Name': 'Robin', 'Height': 170},
{'Name': 'Rudy', 'Height': 150},
{'Name': 'Mike', 'Height': 190},
{'Name': 'Hailey', 'Height': 160}]
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writeheader()
writer.writerows(data)
f.close()
Dict 형태의 CSV 파일에 row 추가(mode='a')
with 문 사용하는 경우
import csv
with open('test.csv', 'a', newline='') as f:
data = [{'Name': 'Robin', 'Height': 170},
{'Name': 'Rudy', 'Height': 150},
{'Name': 'Mike', 'Height': 190},
{'Name': 'Hailey', 'Height': 160}]
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writerows(data)
with 문 사용하지 않는 경우
import csv
f = open('test.csv', 'a', newline='')
data = [{'Name': 'Robin', 'Height': 170},
{'Name': 'Rudy', 'Height': 150},
{'Name': 'Mike', 'Height': 190},
{'Name': 'Hailey', 'Height': 160}]
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writerows(data)
f.close()
보통은 pandas 를 이용해서 csv 읽고 쓰기를 많이 하지만 for loop 중간중간 파일을 열고 라인을 추가하거나 하는 경우 csv 를 이용하고 있다. 매번 쓸때마다 헷갈려서 정리해두었다.
728x90
반응형
'Language > Python' 카테고리의 다른 글
[Python] @classmethod 를 사용하면 좋은 경우 | LIM (0) | 2023.05.16 |
---|---|
[Python] Pipenv 설치 및 가상환경 관리(Mac 기준) | LIM (0) | 2023.05.12 |
[Python] Ray 를 활용한 병렬처리 | LIM (0) | 2023.01.21 |
[Python] Module dependcy 새로운 관리 툴 Poetry | LIM (0) | 2022.12.17 |
[Python] Staticmethod vs Classmethod | LIM (0) | 2022.12.16 |
댓글