import gzip
import shutil
with open('test_large.csv', 'rb') as f_in:
    with gzip.open('test_out.csv.gz', 'wb') as f_out:
        shutil.copyfileobj(f_in, f_out)
Python – как сжать большой текстовый файл без MemoryError?