CSV 형식 (각 열은 콤마로 구분, 각 행은 줄바꿈 문자로 구분)
dave, david apple, 2 korea, japan, chian
파이썬에서 CSV 파일로 저장/읽기 방법
# csv 파일 쓰기
import csv
with open('test.csv', 'w', encoding='utf-8', newline='') as writer_csv: # with 와 함께 쓰면 close()를 별도로 해줄 필요 없음
writer = csv.writer(writer_csv, delimiter=',') # delimiter 에 구분자로 콤마(,)를 넣어줌
writer.writerow(['love']*3 + ['banana']) # 하나의 row 를 리스트 형태로 입력
writer.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) # 하나의 row 를 리스트 형태로 입력
# open() 함수에 newline='' 를 넣어주는 이유는
# 윈도우의 경우 csv 모듈에서 데이타를 쓸 때 각 라인 뒤에 빈 라인이 추가되는 문제가 있기 때문
# 이를 없애기 위해 (파이썬 3 에서) 파일을 open 할 때 newline='' 와 같은 옵션을 지정
'''
love,love,love,banana
Spam,Lovely Spam,Wonderful Spam
'''
import csv
with open('test.csv', 'w', encoding='utf-8', newline='') as writer_csv: # with 와 함께 쓰면 close()를 별도로 해줄 필요 없음
writer = csv.writer(writer_csv, delimiter=',') # delimiter 에 구분자로 콤마(,)를 넣어줌
writer.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) # 하나의 row 를 리스트 형태로 입력
writer.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam']) # 하나의 row 를 리스트 형태로 입력
import csv
with open('test.csv', 'w', encoding='utf-8', newline='') as writer_csv: # with 와 함께 쓰면 close()를 별도로 해줄 필요 없음
writer = csv.writer(writer_csv, delimiter=',') # delimiter 에 구분자로 콤마(,)를 넣어줌
writer.writerow(['dave', 'david']) # 하나의 row 를 리스트 형태로 입력
writer.writerow(['apple', 2]) # 하나의 row 를 리스트 형태로 입력
writer.writerow(['korea', 'japan', 'chian']) # 하나의 row 를 리스트 형태로 입력
dave, david
apple, 2
korea, japan, chian
import csv
with open('test.csv', 'w', encoding='utf-8', newline='') as files:
writer = csv.writer(files, delimiter=',')
writer.writerow(['dave', 'david'])
writer.writerow(['apple', 2])
writer.writerow(['korea', 'japan', 'chian'])
# csv 파일 쓰기
import csv
with open('test.csv', 'r', encoding='utf-8') as reader_csv:
reader = csv.reader(reader_csv, delimiter=',')
for row in reader:
print (row)
# csv 파일 쓰기 (사전 타입으로 파일 쓰기)
import csv
with open('test.csv', 'w', encoding='utf-8', newline='') as writer_csv:
field_name_list =['First Name', 'Last Name']
writer = csv.DictWriter(writer_csv, fieldnames=field_name_list)
writer.writeheader()
writer.writerow({'First Name': 'Dave', 'Last Name': 'Lee'})
writer.writerow({'First Name': 'David', 'Last Name': 'Kim'})
writer.writerow({'First Name': 'Robin', 'Last Name': 'Park'})
Name1, Name2
dave, david
apple, 2
korea, japan
# csv 파일 쓰기 (사전 타입으로 파일 읽기)
import csv
with open('test.csv', 'r', encoding='utf-8') as reader_csv:
reader = csv.DictReader(reader_csv)
for row in reader:
print(row['First Name'], row['Last Name'])
# pandas 라이브러리에서 csv 파일 읽기1
# dataframe 을 csv 파일로 저장하기 위해서는 to_csv() 메서드를 사용함
import pandas as pd
doc = pd.read_csv("test.csv", quotechar=',')
doc
# pandas 라이브러리에서 csv 파일 읽기2 (header 제거)
import pandas as pd
doc = pd.read_csv("test.csv", header=None)
doc
# pandas 라이브러리에서 csv 파일 읽기2 (특정 필드만 읽기)
import pandas as pd
doc = pd.read_csv("test.csv", names=['First Name'])
doc