'pyexcel-xls' (xlrd)'pyexcel-xlsx' (openpyxl)'pyexcel-ods' (odfpyand 'pyexcel-ods ' (pyexcel-ezodfwill read all data into memory because xlsxlsx and ods file are effective zipped folderall four will unzip the folder and read the content in xml format in fullso as to make sense of all details henceduring the partial data is been returnedthe memory consumption won' differ from reading the whole data back only after the partial data is returnedthe memory comsumption curve shall jump the cliff so pagination code here only limits the data returned to your program with that said'pyexcel-xlsxr' 'pyexcel-odsr' and 'pyexcel-htmlr' does read partial data into memory those three are implemented in such way that they consume the xml(htmlwhen needed when they have read designated portion of the datathey stopeven if they are half way through in additionpyexcel' csv readers can read partial data into memory too let' assume the following file is huge csv fileimport datetime import pyexcel as pe data [ ][ ][ ][ ][ ][ pe save_as(array=datadest_file_name="your_file csv"and let' pretend to read partial datape get_sheet(file_name="your_file csv"start_row= row_limit= your_file csv+---+----+---- +---+----+---- +---+----+---- +---+----+----and you could as well do the same for columnspe get_sheet(file_name="your_file csv"start_column= column_limit= your_file csv+----+---- +----+---- +----+---- +----+---- +----+---- +----+---- +----+----obviousyou could do both at the same time old tutorial