def test_sheet_yielder_slicing(self): data = tableloader.read(self.xls_test) self.assertTrue( compare_to_csv(self.excel_master1, data[0], slice(1, None))) data = tableloader.read(self.xls_test, on_demand=True) self.assertTrue( compare_to_csv(self.excel_master1, data[0], slice(None, 3)))
def try_load_data(self, basename): ''' Helper for loading data with an unspecified extension ''' try: return tableloader.read(basename+".csv") except IOError: try: return tableloader.read(basename+".xlsx") except IOError: try: return tableloader.read(basename+".xls") except IOError: raise ValueError("Cannot load any data with base name '"+basename+"'")
def try_load_data(self, basename): ''' Helper for loading data with an unspecified extension ''' try: return tableloader.read(basename + ".csv") except IOError: try: return tableloader.read(basename + ".xlsx") except IOError: try: return tableloader.read(basename + ".xls") except IOError: raise ValueError("Cannot load any data with base name '" + basename + "'")
def test_xlsx_swap_ext(self, data=None, on_demand=False): if data == None: data = tableloader.read(self.xlsx_swap_ext_test, on_demand=on_demand) self.assertTrue(compare_to_csv(self.excel_master1, data[0])) self.assertTrue(compare_to_csv(self.excel_master2, data[1])) self.assertTrue(compare_to_csv(self.excel_master3, data[2]))
def test_xls(self, data=None, on_demand=False): if data == None: data = tableloader.read(self.xls_test, on_demand=on_demand) self.assertTrue(compare_to_csv(self.excel_master1, data[0])) self.assertTrue(compare_to_csv(self.excel_master2, data[1])) self.assertTrue(compare_to_csv(self.excel_master3, data[2])) self.assertEqual(data[2].name, '3rd Sheet')
def test_xml(self, data=None, on_demand=False): if data == None: data = tableloader.read(self.xml_test, on_demand=on_demand) self.assertTrue(compare_to_csv(self.excel_master1, data[0])) self.assertTrue(compare_to_csv(self.excel_master2, data[1])) self.assertTrue(compare_to_csv(self.excel_master3, data[2])) self.assertEqual(data[2].name, "3rd Sheet")
def test_csv_write_read(self): csv_file_name = os.path.join(self.data_dir, 'test_csv.csv') csv_worksheet_file_names = [os.path.join(self.data_dir, 'test_csv_0.csv'), os.path.join(self.data_dir, 'test_csv_1.csv')] # Read/Write each sheet individually for writer in [tableloader.write_csv, tableloader.write]: for sheet in self.dummy_data: writer([sheet], csv_file_name) written_content = tableloader.read(csv_file_name)[0] self.assertListEqual(self.blank_to_none(written_content), self.numerics_to_string(sheet)) # Write all sheets at once, read each resulting file once for writer in [tableloader.write_csv, tableloader.write]: writer(self.dummy_data, csv_file_name) for sheet, file_name in zip(self.dummy_data, csv_worksheet_file_names): written_content = tableloader.read(file_name)[0] self.assertListEqual(self.blank_to_none(written_content), self.numerics_to_string(sheet))
def test_content_xlsx(self): fname = self.xlsx_test with open(fname, "rb") as dfile: name, ext = os.path.splitext(fname) data = tableloader.read(ext, dfile.read()) self.assertTrue(compare_to_csv(self.excel_master1,data[0])) self.assertTrue(compare_to_csv(self.excel_master2,data[1])) self.assertTrue(compare_to_csv(self.excel_master3,data[2]))
def test_csv_write_read(self): csv_file_name = os.path.join(self.data_dir, 'test_csv.csv') csv_worksheet_file_names = [ os.path.join(self.data_dir, 'test_csv_0.csv'), os.path.join(self.data_dir, 'test_csv_1.csv') ] # Read/Write each sheet individually for writer in [tableloader.write_csv, tableloader.write]: for sheet in self.dummy_data: writer([sheet], csv_file_name) written_content = tableloader.read(csv_file_name)[0] self.assertListEqual(self.blank_to_none(written_content), self.numerics_to_string(sheet)) # Write all sheets at once, read each resulting file once for writer in [tableloader.write_csv, tableloader.write]: writer(self.dummy_data, csv_file_name) for sheet, file_name in zip(self.dummy_data, csv_worksheet_file_names): written_content = tableloader.read(file_name)[0] self.assertListEqual(self.blank_to_none(written_content), self.numerics_to_string(sheet))
def test_xls_write_read(self): xls_file_name = os.path.join(self.data_dir, 'test_csv.xls') # Read/Write dummy data for writer, worksheet_names in zip([tableloader.write_xls, tableloader.write], [None, [None, 'Test Sheet Name 1']]): writer(self.dummy_data, xls_file_name, worksheet_names) written_content = tableloader.read(xls_file_name) # Check that same number of worksheets were written self.assertEqual(len(self.dummy_data), len(written_content)) for sheet_index, (dummy_sheet, written_sheet) in enumerate(zip(self.dummy_data, written_content)): # Make sure our worksheet names we provide come through if worksheet_names and sheet_index < len(worksheet_names) and worksheet_names[sheet_index]: self.assertEqual(written_sheet.name, worksheet_names[sheet_index]) self.assertListEqual(self.blank_to_none(written_sheet.load()), self.missing_fill(self.chop_extra_nones(dummy_sheet)))
def test_xls_write_read(self): xls_file_name = os.path.join(self.data_dir, 'test_csv.xls') # Read/Write dummy data for writer, worksheet_names in zip( [tableloader.write_xls, tableloader.write], [None, [None, 'Test Sheet Name 1']]): writer(self.dummy_data, xls_file_name, worksheet_names) written_content = tableloader.read(xls_file_name) # Check that same number of worksheets were written self.assertEqual(len(self.dummy_data), len(written_content)) for sheet_index, (dummy_sheet, written_sheet) in enumerate( zip(self.dummy_data, written_content)): # Make sure our worksheet names we provide come through if worksheet_names and sheet_index < len( worksheet_names) and worksheet_names[sheet_index]: self.assertEqual(written_sheet.name, worksheet_names[sheet_index]) self.assertListEqual( self.blank_to_none(written_sheet.load()), self.missing_fill(self.chop_extra_nones(dummy_sheet)))
def test_sheet_yielder_slicing(self): data = tableloader.read(self.xls_test) self.assertTrue(compare_to_csv(self.excel_master1, data[0], slice(1, None))) data = tableloader.read(self.xls_test, on_demand=True) self.assertTrue(compare_to_csv(self.excel_master1, data[0], slice(None, 3)))
def test_xlsx_caps(self, on_demand=False): data = tableloader.read(self.xlsx_caps_test, on_demand=on_demand) self.assertTrue(compare_to_csv(self.excel_master1, data[0])) self.assertTrue(compare_to_csv(self.excel_master2, data[1])) self.assertTrue(compare_to_csv(self.excel_master3, data[2]))
def test_content_xml_swap_xlsx(self, on_demand=False): fname = self.xml_xlsx_swap_ext_test with open(fname, "rb") as dfile: name, ext = os.path.splitext(fname) self.test_xml_swap_xlsx(tableloader.read(ext, dfile.read()), on_demand)
def test_content_function_xls(self): fname = self.xls_formula_test with open(fname, "rb") as dfile: name, ext = os.path.splitext(fname) data = tableloader.read(ext, dfile.read()) self.assertTrue(compare_to_csv(self.formula_master,data[0]))
def test_function_xls(self): data = tableloader.read(self.xls_formula_test) self.assertTrue(compare_to_csv(self.formula_master,data[0]))
def test_function_xlsx(self, data=None, on_demand=False): if data == None: data = tableloader.read(self.xlsx_formula_test, on_demand=on_demand) self.assertTrue(compare_to_csv(self.formula_master, data[0]))
def test_xlsx(self): data = tableloader.read(self.xlsx_test) self.assertTrue(compare_to_csv(self.excel_master1,data[0])) self.assertTrue(compare_to_csv(self.excel_master2,data[1])) self.assertTrue(compare_to_csv(self.excel_master3,data[2]))
def test_csv(self): data = tableloader.read(self.csv_test) self.assertTrue(compare_to_csv(self.csv_master,data[0]))
def test_content_function_xlsx(self, on_demand=False): fname = self.xlsx_formula_test with open(fname, 'rb') as dfile: name, ext = os.path.splitext(fname) self.test_function_xlsx(tableloader.read(ext, dfile.read()), on_demand)
def test_csv(self, data=None, on_demand=False): if data == None: data = tableloader.read(self.csv_test, on_demand=on_demand) self.assertTrue(compare_to_csv(self.csv_master, data[0]))
def test_content_xml(self, on_demand=False): fname = self.xml_test with open(fname, 'rb') as dfile: name, ext = os.path.splitext(fname) self.test_xml(tableloader.read(ext, dfile.read()), on_demand)
def test_content_csv(self, on_demand=False): fname = self.csv_test with open(fname, 'rb') as dfile: name, ext = os.path.splitext(fname) self.test_csv(tableloader.read(ext, dfile.read()), on_demand)
def test_content_function_xlsx(self, on_demand=False): fname = self.xlsx_formula_test with open(fname, "rb") as dfile: name, ext = os.path.splitext(fname) self.test_function_xlsx(tableloader.read(ext, dfile.read()), on_demand)
def test_content_xml_swap_xlsx(self, on_demand=False): fname = self.xml_xlsx_swap_ext_test with open(fname, 'rb') as dfile: name, ext = os.path.splitext(fname) self.test_xml_swap_xlsx(tableloader.read(ext, dfile.read()), on_demand)
def test_content_csv(self, on_demand=False): fname = self.csv_test with open(fname, "rb") as dfile: name, ext = os.path.splitext(fname) self.test_csv(tableloader.read(ext, dfile.read()), on_demand)
def setUp(self): self.data_dir = os.path.join(dirname(__file__), 'table_data') self.names_table = tableloader.read(os.path.join(self.data_dir, "names_table.xlsx"))[0]
def setUp(self): self.data_dir = os.path.join(dirname(__file__), 'table_data') self.names_table = tableloader.read( os.path.join(self.data_dir, "names_table.xlsx"))[0].load()