Skip to content

BUG: large datetimes incorrect in read_sas #56014

Open
@jbrockmendel

Description

@jbrockmendel

There are a few tests in tests.io.sas.test_sas7bdat that need attention from someone with access to SAS.

def test_max_sas_date(datapath):
    # GH 20927
    # NB. max datetime in SAS dataset is 31DEC9999:23:59:59.999
    #    but this is read as 29DEC9999:23:59:59.998993 by a buggy
    #    sas7bdat module

We need to read the file "pandas/tests/io/sas/data/max_sas_date.sas7bdat" with SAS and inspect the first entry in the dt_as_dt column to confirm the expected behavior. It is also unclear what precision the result should have: the comment suggests milliseconds, we get microseconds, and pyreadstat rounds to seconds (xref WizardMac/ReadStat#306)

def test_date_time(datapath):
    [...]
    # GH 19732: Timestamps imported from sas will incur floating point errors

Similarly we need to read the file "pandas/tests/io/sas/data/datetime.sas7bdat" with SAS and inspect the first and last entries in the "DateTimeHi" column to ensure we are getting these right.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions