• csv 파일

- 구조화된 텍스트 파일
- row와 column을 가지고 있다. 
- 구분자 사용 ( , )
- 파일 운영체제에 따른 줄바꿈 문자가 다름
  리눅스/맥 : \n
  윈도우즈 : \r\n
- 컬럼 이름이 첫번째 라인에 올 수 있다.

 

  • csv 특징

- 값의 데이터 타입이 없다. 모든 값은 문자열
- 각 셀의 폰트나 컬러가 없다.
- 워크시트가 없다 (하나의 워크시트만 존재)
- 셀의 높이나 너비가 없다. 셀 병합도 없다.
- 이미지나 차트를 포함할 수 없다.
- 리스트, 딕셔너리와 변환가능 

 

  • csv 파일 --> 리스트로 로딩하기
import csv # 코어 모듈
import pprint # 개선된 프린트
with open('mycsv.csv', 'r') as file:
    reader = csv.reader(file)
    park_list = list(reader)
pprint.pprint(park_list)

with 구문을 사용해서 file.close()가 자동으로 동작된다.

 

#### 위 내용과 동일한 내용 #####
file = open('mycsv.csv', 'r')
reader = csv.reader(file)
park_list = list(reader)
pprint.pprint(park_list)
file.close()

with 구문을 사용하지 않을 경우는 file.close()를 반드시 사용하여 파일을 닫아 줘야 한다.

 

  • 리스트 --> csv 파일로 저장
import csv # 코어 모듈
# newline=''은 윈도우에서 개행 관련해서 사용, 미사용시 두줄 개행됨
with open('mycsv.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerow(['aaa', 'bbb', 'ccc', 'ddd'])
    writer.writerow(['111', '222', '333', '444'])
    writer.writerow([1, 11, 111, 1111])

 

  • csv 파일 --> 딕셔너리로 로딩
# 헤더가 있는 경우
import csv 
with open('mycsv.csv', 'r') as file:
    reader = csv.DictReader(file) # 딕셔너리용 reader
    for row in reader:
        print(row)

 

https://replit.com/@dhshin38/Tutorial-Python#mycsv.py

 

Tutorial Python

A Python repl by dhshin38

replit.com

 

'Python' 카테고리의 다른 글

Python 웹 스크레핑 예제  (0) 2022.01.23
Python 이메일 보내기, 가져오기  (0) 2022.01.23
Python 엑셀 읽기, 쓰기  (0) 2022.01.23
Python 클래스, 상속, Override  (0) 2022.01.23
Python logging 로그  (0) 2022.01.23

+ Recent posts