class packers_write_excel_xlwt(object): goal_time = 0.2 def setup(self): self.f = '__test__.msg' self.N = 100000 self.C = 5 self.index = date_range('20000101', periods=self.N, freq='H') self.df = DataFrame(dict([('float{0}'.format(i), randn(self.N)) for i in range(self.C)]), index=self.index) self.N = 100000 self.C = 5 self.index = date_range('20000101', periods=self.N, freq='H') self.df2 = DataFrame(dict([('float{0}'.format(i), randn(self.N)) for i in range(self.C)]), index=self.index) self.df2['object'] = [('%08x' % randrange((16 ** 8))) for _ in range(self.N)] self.remove(self.f) self.bio = BytesIO() def time_packers_write_excel_xlwt(self): self.bio.seek(0) self.writer = pd.io.excel.ExcelWriter(self.bio, engine='xlwt') self.df[:2000].to_excel(self.writer) self.writer.save() def remove(self, f): try: os.remove(self.f) except: pass
class Excel(object): goal_time = 0.2 params = ['openpyxl', 'xlsxwriter', 'xlwt'] param_names = ['engine'] def setup(self, engine): N = 2000 C = 5 self.df = DataFrame(np.random.randn(N, C), columns=['float{}'.format(i) for i in range(C)], index=date_range('20000101', periods=N, freq='H')) self.df['object'] = tm.makeStringIndex(N) self.bio_read = BytesIO() self.writer_read = ExcelWriter(self.bio_read, engine=engine) self.df.to_excel(self.writer_read, sheet_name='Sheet1') self.writer_read.save() self.bio_read.seek(0) self.bio_write = BytesIO() self.bio_write.seek(0) self.writer_write = ExcelWriter(self.bio_write, engine=engine) def time_read_excel(self, engine): read_excel(self.bio_read) def time_write_excel(self, engine): self.df.to_excel(self.writer_write, sheet_name='Sheet1') self.writer_write.save()
class packers_write_excel_xlwt(object): goal_time = 0.2 def setup(self): self.f = '__test__.msg' def remove(f): try: os.remove(self.f) except: pass self.N = 100000 self.C = 5 self.index = date_range('20000101', periods=self.N, freq='H') self.df = DataFrame(dict([('float{0}'.format(i), randn(self.N)) for i in range(self.C)]), index=self.index) self.N = 100000 self.C = 5 self.index = date_range('20000101', periods=self.N, freq='H') self.df2 = DataFrame(dict([('float{0}'.format(i), randn(self.N)) for i in range(self.C)]), index=self.index) self.df2['object'] = [('%08x' % randrange((16**8))) for _ in range(self.N)] remove(self.f) self.bio = BytesIO() def time_packers_write_excel_xlwt(self): self.bio.seek(0) self.writer = pd.io.excel.ExcelWriter(self.bio, engine='xlwt') self.df[:2000].to_excel(self.writer) self.writer.save()
class packers_read_excel(_Packers): def setup(self): self._setup() self.bio = BytesIO() self.writer = pd.io.excel.ExcelWriter(self.bio, engine='xlsxwriter') self.df[:2000].to_excel(self.writer) self.writer.save() def time_packers_read_excel(self): self.bio.seek(0) pd.read_excel(self.bio)
def test_stringio_writer(self): _skip_if_no_xlsxwriter() _skip_if_no_xlrd() path = BytesIO() with ExcelWriter(path, engine='xlsxwriter', **{'options': {'in-memory': True}}) as ew: self.frame.to_excel(ew, 'test1', engine='xlsxwriter') ew.save() path.seek(0) ef = ExcelFile(path) found_df = ef.parse('test1') tm.assert_frame_equal(self.frame, found_df) path.close()
class Excel(_Packers): def setup(self): self._setup() self.bio = BytesIO() def time_write_excel_openpyxl(self): self.bio.seek(0) self.writer = pd.io.excel.ExcelWriter(self.bio, engine='openpyxl') self.df[:2000].to_excel(self.writer) self.writer.save() def time_write_excel_xlsxwriter(self): self.bio.seek(0) self.writer = pd.io.excel.ExcelWriter(self.bio, engine='xlsxwriter') self.df[:2000].to_excel(self.writer) self.writer.save() def time_write_excel_xlwt(self): self.bio.seek(0) self.writer = pd.io.excel.ExcelWriter(self.bio, engine='xlwt') self.df[:2000].to_excel(self.writer) self.writer.save()
def time_write_excel(self, engine): bio_write = BytesIO() bio_write.seek(0) writer_write = ExcelWriter(bio_write, engine=engine) self.df.to_excel(writer_write, sheet_name='Sheet1') writer_write.save()