[Python4] 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

댓글 남기기응답 취소

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.

Exit mobile version