with open('test_large.csv', 'rb') as f_in:
    with gzip.open('test_out.csv.gz', 'wb') as f_out:
        while True:
            data = f_in.read(size)
if data == '':
    break
f_out.write(data)
Python – как сжать большой текстовый файл без MemoryError?