advanced usage :fireif you are dealing with big dataplease consider these usagesdef increase_everyones_age(generator)for row in generatorrow['age'+ yield row def duplicate_each_record(generator)for row in generatoryield row yield row records iget_records(file_name="your_file xls"io= isave_as(records=duplicate_each_record(increase_everyones_age(records))dest_file_type='csv'dest_lineterminator='\ 'print(io getvalue()age,name ,adam ,adam ,beatrice ,beatrice ,ceri ,ceri ,dean ,dean two advantages of above method add as many wrapping functions as you want constant memory consumption for individual excel file formatsplease install them as you wishtable list of file formats supported by external plugins package name supported file formats dependencies pyexcel-io csvcsvz tsvtsvz pyexcel-xls xlsxlsx(read only)xlsm(read onlyxlrdxlwt pyexcel-xlsx xlsx openpyxl pyexcel-ods ods pyexcel-ezodflxml pyexcel-ods ods odfpy table dedicated file reader and writers package name supported file formats dependencies pyexcel-xlsxw xlsx(write onlyxlsxwriter pyexcel-libxlsxw xlsx(write onlylibxlsxwriter pyexcel-xlsxr xlsx(read onlylxml pyexcel-xlsbr xlsb(read onlypyxlsb pyexcel-odsr read only for odsfods lxml pyexcel-odsw write only for ods loxun pyexcel-htmlr html(read onlylxml,html lib pyexcel-pdfr pdf(read onlycamelot zipped csv file zipped tsv file advanced usage :fire