Table of Contents
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])
답글 남기기