Memory-efficient processing of 100GB+ CSV files in Python