[Python4] gzip으로 압축 된 csv 파일 스트림 읽기

python 4 gzip gz 파일 gzip csv 라이브러리 활용하여 열기

gz, gzip은 뭐길래


외국기업에서 파일을 받아오거나, IT전문 또는 리눅스 기반의 시스템을 사용하는 업체에서 파일을 받다가 보면, 간혹 gzip으로 압축된 파일을 보내주는 경우가 있다.(확장자 : .gzip, .gz 등)

​윈도우로 개발하다보면 gz나 gzip을 압축 푸는 거 부터가 일인 경우가 있는데,
굳이 압축을 풀고 CSV를 여는 과정을 거치지 않고서도, gz 파일 자체로 파일 스트림을 열 수 있다.

​python의 gzip, csv 라이브러리를 사용하는 것.

gzip, csv 라이브러리로 gzip 파일스트림 열기


gzip 라이브러리는 gz 파일을 압축을 해제함과 동시에 다양한 FileStream으로 열 수 있게 해준다. 바이너리, 텍스트 등으로 열 수 있는데 해당 내용에서는 CSV 파일을 읽어들이는 것이니 텍스트 스트림으로 여는 것.

코드는 다음과 같다.

import gzip
import csv

path = r'C:\Users\ljk01\Downloads\FNR-2020-06-10-MARKETPRICE-Data-1-of-1.csv.gz'

f = gzip.open(path, 'rt', encoding = 'UTF8')
rdr = csv.reader(f)

파일스트림 활용


이렇게 .csv.gz로 되어있는 파일을 gzip을 통해 fileStream을 만들고, 이를 csv 라이브러리를 통해서 열게 되면 끝.

​이후에는 저 rdr을 지지고 볶아서 사용하면 됨.

아래는 예시 코드.

for line in rdr :
    if line[0] == '' :
        #Row 정보들
        if line[7] not in fidValueList :
            fidValueList.append(line[7])
    else :
        #New Row
        if line[5] not in updateTypeList :
            updateTypeList.append(line[5])
        if line[0] not in instList :
            instList.append(line[0])

마치며…


참고하면 좋은 글

이전글

다음글


Posted

in

, ,

by

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다