Polars字符串转Datetime失败:转换后字段全为Null求助
解决Polars字符串转Datetime后全为Null的问题
你的问题出在格式串不匹配:你用的%f对应六位微秒,但你的时间字符串是三位毫秒(.550),格式不匹配导致转换失败,加上strict=False不会抛出错误,只会返回Null。
给你两种可行的解决办法:
方法一:使用匹配三位毫秒的格式串
把格式串里的%f改成%3f,明确指定解析三位毫秒:df = df.with_columns(pl.col('EventTime').str.to_datetime("%Y-%m-%dT%H:%M:%3f"))方法二:让Polars自动推断格式
如果你的日期时间字符串是标准ISO格式(像示例里的这种),可以直接省略format参数,Polars会自动识别:df = df.with_columns(pl.col('EventTime').str.to_datetime())
验证一下,转换后EventTime列的类型会变成datetime[μs],且值正常保留,不会是Null。
内容的提问来源于stack exchange,提问作者Johnas
相关产品推荐
相关产品推荐

