Development/Python
[python] csv 파일 저장하기
juniz
2020. 8. 23. 02:38
반응형
csv 파일이란..
csv는 comma-separated values 의 줄임말로 , 쉼표로 데이터를 구분하는 파일입니다.
유사하게 tsv 파일의 경우 tab으로 데이터를 구분하는 파일입니다.
Using csv [link]
- w = write
- r = read
Type 1
with 를 사용하지 않고 한줄씩 저장하는 방법입니다.
open을 통해 test.csv란 파일을 w (write) 할 예정이며 utf-8로 인코딩을 할 것이다 라고 정한 뒤
csv.writer를 통해 한줄씩 입력한 뒤
close() 를 꼭 해주셔야 합니다.(중요)
import csv
f = open('test.csv', 'w', encoding='utf-8', newline='')
wr = csv.writer(f)
wr.writerow([1, 'this is line 1'])
wr.writerow([2, "this is line 2'])
f.close()
Type 2
with 를 사용하여 close()를 사용할 필요가 없습니다.
with open('test.csv', 'w') as f:
wr = csv.writer(f)
wr.writerow([1, 'this is line 1'])
wr.writerow([2, 'this is line 2'])
Using Pandas
pandas 라는 패키지를 통해 csv 파일로 저장하는 방법이 가장 수월합니다.
다만 별도로 패키지를 설치하셔야 합니다.
설치 방법은
pip install pandas
혹은
python -m pip install pandas 로 하시면 됩니다.
# pip install pandas 로 설치를 하신 뒤에 가능합니다.
import pandas as pd
df = pd.DataFrame({'name': ['Raphael', 'Donatello'],
'mask': ['red', 'purple'],
'weapon': ['sai', 'bo staff']})
df.to_csv('파일 경로', index=False)
Dict to csv
import csv
csv_columns = ['one','two','three']
# dict_data 만드신 dict 타입 데이터
csv_file = "test.csv"
with open(csv_file, 'w') as csvfile:
writer = csv.DictWriter(csvfile, fieldnames=csv_columns)
writer.writeheader()
for data in dict_data:
writer.writerow(data)
반응형