You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.0 KiB
35 lines
1.0 KiB
from io import StringIO
|
|
|
|
import pytest
|
|
|
|
from pandas import read_sas
|
|
import pandas._testing as tm
|
|
|
|
|
|
class TestSas:
|
|
def test_sas_buffer_format(self):
|
|
# see gh-14947
|
|
b = StringIO("")
|
|
|
|
msg = (
|
|
"If this is a buffer object rather than a string "
|
|
"name, you must specify a format string"
|
|
)
|
|
with pytest.raises(ValueError, match=msg):
|
|
read_sas(b)
|
|
|
|
def test_sas_read_no_format_or_extension(self):
|
|
# see gh-24548
|
|
msg = "unable to infer format of SAS file.+"
|
|
with tm.ensure_clean("test_file_no_extension") as path:
|
|
with pytest.raises(ValueError, match=msg):
|
|
read_sas(path)
|
|
|
|
|
|
def test_sas_archive(datapath):
|
|
fname_uncompressed = datapath("io", "sas", "data", "airline.sas7bdat")
|
|
df_uncompressed = read_sas(fname_uncompressed)
|
|
fname_compressed = datapath("io", "sas", "data", "airline.sas7bdat.gz")
|
|
df_compressed = read_sas(fname_compressed, format="sas7bdat")
|
|
tm.assert_frame_equal(df_uncompressed, df_compressed)
|