Пример #1
0
def test_parse_timedelta_regular():
    data = convert_csv_pd("""
        timedelta_col,float_col,string_col
        "1 day, 4:08:25.159814",0.23,bla1
        "1 day, 18:34:16.196687",0.23,bla1
        """)
    parse_timedelta(data)
    _check_timedelta_parsed(data, ["timedelta_col"])
Пример #2
0
def test_to_str_timedelta():
    data = convert_csv_pd("""
        timedelta_col,float_col,string_col
        "1 day, 4:08:25.159814",0.23,bla1
        "1 day, 18:34:16.196687",0.23,bla1
        """)
    parse_timedelta(data)
    to_str(data)
    _check_is_object(data, ["timedelta_col"])
Пример #3
0
def test_parse_timedelta_with_assertion_error():
    data = convert_csv_pd("""
        timedelta_col1,timedelta_col2,float_col,string_col
        4:08:25.159814,"1 day, 4:08:25.159814",0.23,bla1
        18:34:16.196687,"1 day, 18:34:16.196687",0.23,bla1
        """)
    parse_timedelta(data)
    # timedelta_col1's dtype is a datetime64[ns]
    _check_dates_parsed(data, ["timedelta_col1"])
    with pytest.raises(AssertionError):
        _check_timedelta_parsed(data, ["timedelta_col1", "timedelta_col2"])
Пример #4
0
def test_parse_timedelta_explicit_convert():
    def convert_csv_pd_(string: str) -> pd.DataFrame:
        import textwrap
        from io import StringIO

        from datapane.common.df_processor import process_df

        buf = StringIO(textwrap.dedent(string).strip())
        df = pd.read_csv(buf, engine="c", sep=",")
        df["timedelta_col1"] = pd.to_timedelta(df["timedelta_col1"])
        process_df(df)
        return df

    # timedelta_col1 is parsed by `parse_dates` unless it is converted explicitly
    data = convert_csv_pd_("""
        timedelta_col1,timedelta_col2,float_col,string_col
        4:08:25.159814,"1 day, 4:08:25.159814",0.23,bla1
        18:34:16.196687,"1 day, 18:34:16.196687",0.23,bla1
        """)
    parse_timedelta(data)
    _check_timedelta_parsed(data, ["timedelta_col1", "timedelta_col2"])