def test_fwf_compression(compression): data = """1111111111 2222222222 3333333333""".strip() kwargs = dict(widths=[5, 5], names=["one", "two"]) expected = read_fwf(StringIO(data), **kwargs) if compat.PY3: data = bytes(data, encoding="utf-8") with tm.ensure_clean() as path: tm.write_to_compressed(compression, path, data) result = read_fwf(path, compression=compression, **kwargs) tm.assert_frame_equal(result, expected)
def test_fwf_compression(compression_only, infer): data = """1111111111 2222222222 3333333333""".strip() compression = compression_only extension = "gz" if compression == "gzip" else compression kwargs = dict(widths=[5, 5], names=["one", "two"]) expected = read_fwf(StringIO(data), **kwargs) data = bytes(data, encoding="utf-8") with tm.ensure_clean(filename="tmp." + extension) as path: tm.write_to_compressed(compression, path, data) if infer is not None: kwargs["compression"] = "infer" if infer else compression result = read_fwf(path, **kwargs) tm.assert_frame_equal(result, expected)
def test_compression(parser_and_data, compression_only, buffer, filename): parser, data, expected = parser_and_data compress_type = compression_only ext = "gz" if compress_type == "gzip" else compress_type filename = filename if filename is None else filename.format(ext=ext) if filename and buffer: pytest.skip("Cannot deduce compression from " "buffer of compressed data.") with tm.ensure_clean(filename=filename) as path: tm.write_to_compressed(compress_type, path, data) compression = "infer" if filename else compress_type if buffer: with open(path, "rb") as f: result = parser.read_csv(f, compression=compression) else: result = parser.read_csv(path, compression=compression) tm.assert_frame_equal(result, expected)