CSV 데이터는 쉼표를 기준으로 항목을 구분하여 저장하는 데이터를 말한다. 콤마로 규칙적으로 구분되어 있기 때문에 엑셀과 같은 프로그램으로도 읽고 쓸 수 있다. 주로 테이블 형태로 구성된 자료나 텍스트 자료를 저장할 때 사용한다. JSON 데이터에 비하여 절반 이하의 용량으로 저장할 수 있다는 장점이 있다.
- 빈 파일을 연다.
- 콤마로 구분된 데이터를 입력한다.
.csv
확장자로 저장한다.
csv.reader( )
또는 csv.DictRedader( )
메소드 사용import csv #csv파일을 다루기 위한 라이브러리 import
with open('test.csv') as csv_file:
rows = csv.reader(csv_file, delimiter = ',')
for row in rows:
print(row)
with open (file_name) as (file_name):
구문을 이용하면 외부 파일을 연 상태로 작업한다.csv.reader
메소드를 이용하면 파일 내부의 모든 행을 rows라는 변수에 담을 수 있다. mkdir csv_upload
touch films.csv
touch actors.csv
...
# -*- coding: utf-8 -*-
: 파이썬이 한글 인코딩을 읽을 수 있도록 추가.- csv파일마다 변수 설정.
csv.reader( )
로 데이터 읽어오기if row[0]:
row의 0번째 인덱스의 데이터 개수만큼 코드가 실행되도록 함.
하나의 csv파일에 여러 테이블의 데이터를 넣는 경우, A[1]:B[9]
데이터를 출력해 보면 A[1]:B[23]
까지의 데이터가 나올 것이다. 쓸데없는 빈칸까지 추가되서 데이터가 추출되는걸 방지하기 위해 if row[0]:
문을 추가하는데, row의 0번째 인덱스가 갖고있는 데이터 개수만큼만 데이터를 가져오게 한다.
즉, A[1]:B[9]
데이터는 if row[0]:
문을 추가해야 하고, D[1]:F[23]
데이터는 if row[0]:
문을 추가하면 D[1]:F[9]
까지만 나오게 될 것이다.
python db_uploader.py
,
사이에 white space가 있어서 error가 한 번 났지만, 수정 후에는 데이터가 잘 들어간 모습을 볼 수 있다.