def test_toxlsx_replace_sheet_nofile(xlsx_test_table): f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() toxlsx(xlsx_test_table, f.name, 'Sheet1', mode="replace") wb = openpyxl.load_workbook(f.name, read_only=True) eq_(1, len(wb.sheetnames))
def test_toxlsx_with_non_str_header(xlsx_table_with_non_str_header): f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() toxlsx(xlsx_table_with_non_str_header, f.name, 'Sheet1') actual = etl.fromxlsx(f.name, 'Sheet1') ieq(xlsx_table_with_non_str_header, actual)
def _write_read_file_into_url(base_url, filename, compression=None, pkg=None): if not _is_installed(pkg, filename): return source_url = _build_source_url_from(base_url, filename, compression) if source_url is None: return actual = None if ".avro" in filename: toavro(_table, source_url) actual = fromavro(source_url) elif ".xlsx" in filename: toxlsx(_table, source_url, 'test1', mode='overwrite') toxlsx(_table2, source_url, 'test2', mode='add') actual = fromxlsx(source_url, 'test1') elif ".xls" in filename: toxls(_table, source_url, 'test') actual = fromxls(source_url, 'test') elif ".json" in filename: tojson(_table, source_url) actual = fromjson(source_url) elif ".csv" in filename: tocsv(_table, source_url, encoding="ascii", lineterminator="\n") actual = fromcsv(source_url, encoding="ascii") if actual is not None: _show__rows_from("Expected:", _table) _show__rows_from("Actual:", actual) ieq(_table, actual) ieq(_table, actual) # verify can iterate twice else: print("\n - %s SKIPPED " % filename, file=sys.stderr, end="")
def test_toxlsx_add_sheet_nomatch(xlsx_test_table): f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() toxlsx(xlsx_test_table, f.name, 'Sheet1', mode="overwrite") toxlsx(xlsx_test_table, f.name, 'Sheet2', mode="add") wb = openpyxl.load_workbook(f.name, read_only=True) eq_(2, len(wb.sheetnames))
def test_toxlsx(): tbl = (('foo', 'bar'), ('A', 1), ('B', 2), ('C', 2), (u'é', datetime(2012, 1, 1))) f = NamedTemporaryFile(delete=False) f.close() toxlsx(tbl, f.name, 'Sheet1') actual = fromxlsx(f.name, 'Sheet1') ieq(tbl, actual)
def test_toxlsx_nosheet(): tbl = (('foo', 'bar'), ('A', 1), ('B', 2), ('C', 2), (u'é', datetime(2012, 1, 1))) f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() toxlsx(tbl, f.name) actual = fromxlsx(f.name) ieq(tbl, actual)
def test_toxlsx_replace_sheet_nofile(): tbl = (('foo', 'bar'), ('A', 1), ('B', 2), ('C', 2), (u'é', datetime(2012, 1, 1))) f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() toxlsx(tbl, f.name, 'Sheet1', mode="replace") wb = openpyxl.load_workbook(f.name, read_only=True) eq_(1, len(wb.sheetnames))
def test_toxlsx_add_sheet_match(xlsx_test_table): tbl = xlsx_test_table f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() toxlsx(tbl, f.name, 'Sheet1', mode="overwrite") with pytest.raises(ValueError) as excinfo: toxlsx(tbl, f.name, 'Sheet1', mode="add") assert 'Sheet Sheet1 already exists in file' in str(excinfo.value)
def test_toxlsx_add_nosheet(): tbl = (('foo', 'bar'), ('A', 1), ('B', 2), ('C', 2), (u'é', datetime(2012, 1, 1))) f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() toxlsx(tbl, f.name, 'Sheet1', mode="overwrite") toxlsx(tbl, f.name, None, mode="add") wb = openpyxl.load_workbook(f.name, read_only=True) eq_(2, len(wb.sheetnames))
def test_toxlsx_nosheet(): tbl = (('foo', 'bar'), ('A', 1), ('B', 2), ('C', 2), (u'é', datetime(2012, 1, 1))) f = NamedTemporaryFile(delete=False) f.close() toxlsx(tbl, f.name) actual = fromxlsx(f.name) ieq(tbl, actual)
def test_toxlsx(): tbl = (('foo', 'bar'), ('A', 1), ('B', 2), ('C', 2), (u'é', datetime(2012, 1, 1))) f = NamedTemporaryFile(delete=False, suffix='.xlsx') f.close() toxlsx(tbl, f.name, 'Sheet1') actual = fromxlsx(f.name, 'Sheet1') ieq(tbl, actual)
def test_toxlsx_add_sheet_match(): tbl = (('foo', 'bar'), ('A', 1), ('B', 2), ('C', 2), (u'é', datetime(2012, 1, 1))) f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() toxlsx(tbl, f.name, 'Sheet1', mode="overwrite") try: toxlsx(tbl, f.name, 'Sheet1', mode="add") assert False, 'Adding duplicate sheet name did not fail' except ValueError: pass
def test_toxlsx_appendxlsx(xlsx_test_table): # setup f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() # test toxlsx toxlsx(xlsx_test_table, f.name, 'Sheet1') actual = fromxlsx(f.name, 'Sheet1') ieq(xlsx_test_table, actual) # test appendxlsx appendxlsx(xlsx_test_table, f.name, 'Sheet1') expect = etl.cat(xlsx_test_table, xlsx_test_table) ieq(expect, actual)
def test_appendxlsx_with_non_str_header(xlsx_table_with_non_str_header, xlsx_test_table): f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() # write first table toxlsx(xlsx_test_table, f.name, 'Sheet1') actual = fromxlsx(f.name, 'Sheet1') ieq(xlsx_test_table, actual) # test appendxlsx appendxlsx(xlsx_table_with_non_str_header, f.name, 'Sheet1') expect = etl.cat(xlsx_test_table, xlsx_table_with_non_str_header) ieq(expect, actual)
def _write_read_file_into_url(base_url, filename, compression=None, pkg=None): if pkg is not None: if not _is_installed(pkg): print("\n - %s SKIPPED " % filename, file=sys.stderr, end="") return is_local = base_url.startswith("./") if compression is not None: if is_local: return filename = filename + "." + compression codec = fsspec.utils.infer_compression(filename) if codec is None: print("\n - %s SKIPPED " % filename, file=sys.stderr, end="") return print("\n - %s " % filename, file=sys.stderr, end="") if is_local: source_url = base_url + filename else: source_url = os.path.join(base_url, filename) actual = None if ".avro" in filename: toavro(_table, source_url) actual = fromavro(source_url) elif ".xlsx" in filename: toxlsx(_table, source_url, 'test1', mode='overwrite') toxlsx(_table2, source_url, 'test2', mode='add') actual = fromxlsx(source_url, 'test1') elif ".xls" in filename: toxls(_table, source_url, 'test') actual = fromxls(source_url, 'test') elif ".json" in filename: tojson(_table, source_url) actual = fromjson(source_url) elif ".csv" in filename: tocsv(_table, source_url, encoding="ascii", lineterminator="\n") actual = fromcsv(source_url, encoding="ascii") if actual is not None: _show__rows_from("Expected:", _table) _show__rows_from("Actual:", actual) ieq(_table, actual) ieq(_table, actual) # verify can iterate twice else: print("\n - %s SKIPPED " % filename, file=sys.stderr, end="")
def test_toxlsx_appendxlsx(): # setup tbl = (('foo', 'bar'), ('A', 1), ('B', 2), ('C', 2), (u'é', datetime(2012, 1, 1))) f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() # test toxlsx toxlsx(tbl, f.name, 'Sheet1') actual = fromxlsx(f.name, 'Sheet1') ieq(tbl, actual) # test appendxlsx appendxlsx(tbl, f.name, 'Sheet1') expect = etl.cat(tbl, tbl) ieq(expect, actual)
def test_toxlsx_nosheet(xlsx_test_table): f = NamedTemporaryFile(delete=True, suffix='.xlsx') f.close() toxlsx(xlsx_test_table, f.name) actual = fromxlsx(f.name) ieq(xlsx_test_table, actual)