python/중급
csv read & write
알 수 없는 사용자
2021. 9. 5. 15:32
데이터 처리를 하다보면
csv 파일 처리를 할때가 매우 많다.
csv 파일이란 쉽게 ","로 데이터 분리를 해놓은 엑셀이라고 보면 된다.
csv 파일을 엑셀로 열면 이렇게 예쁘게 열리지만,
메모장으로 열면
아래와 같이 "," 로 분리된 값으로 저장이 되어 있다.
CSV File Read
이 파일을 Dict로 읽으려면?
DictReader를 사용하면 된다.
import csv
with open("data.csv") as csvread:
reader = csv.DictReader(csvread)
for row in reader:
print(row)
# OrderedDict([('FRUIT', 'APPLE'), ('A', '1'), ('B', '4'), ('C', '5')])
# OrderedDict([('FRUIT', 'BANANA'), ('A', '4'), ('B', '7'), ('C', '2')])
# OrderedDict([('FRUIT', 'ORANGE'), ('A', '6'), ('B', '8'), ('C', '5')])
CSV File Write
Dict를 csv 파일로 쓰려면?
DirtWriter를 사용하면 된다.
import csv
fruit_dict = {
"APPLE" : {"A": 1, "B": 4, "C": 5},
"BANANA": {"A" :4, "B": 7, "C":2 },
"ORANGE": {"A" :6, "B": 8, "C":5},
}
with open("data1.csv","w") as csvwrite:
fieldnames =["FRUIT", "A", "B", "C"]
writer = csv.DictWriter(csvwrite, fieldnames=fieldnames)
writer.writeheader()
for key, value in fruit_dict.items():
writer.writerow({"FRUIT" :key, **value}) # {"FRUIT": "APPLE","A": 1, "B": 4, "C": 5}