class PandasExcelHandler(FileHandler): """ Handler for Excel files using Pandas. """ def _open_for_read(self): self.handle = ExcelFile(self.fname) def _open_for_write(self): self.handle = ExcelWriter(self.fname) def list(self): return self.handle.sheet_names def _read_array(self, key, *args, **kwargs): df = self.handle.parse(key, *args, **kwargs) return df_aslarray(df, raw=True) def _dump(self, key, value, *args, **kwargs): kwargs['engine'] = 'xlsxwriter' value.to_excel(self.handle, key, *args, **kwargs) def close(self): self.handle.close()