For reader, use lxml.etree to iterate over data and get pandas dataframe. Add Streaming option. For writer, use this: https://stackoverflow.com/a/43567758 Explore how to handle streaming reading and writing.