You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rust Polars字符串转日期:StrpTimeOptions未找到问题求助

Rust Polars 中 StrpTimeOptions 找不到的问题解决

你遇到的核心问题是Polars版本迭代带来的命名变更:旧版本中的StrpTimeOptions已被重命名为**StrptimeOptions**(注意p为小写),这正是编译器提示中"存在类似名称的结构体:StrptimeOptions"的原因。

解决步骤

  1. 无需额外引入依赖:StrptimeOptions已经包含在polars::prelude::*中,只要你的Polars是较新版本,直接使用即可。
  2. 替换命名:将代码里所有的StrpTimeOptions替换为StrptimeOptions。

修正后的完整代码

use polars::prelude::*;
use polars_lazy::prelude::*;
use chrono::prelude::*;

fn main() {
    // 字符串转日期示例
    let df = DataFrame::new(vec![Series::new(
        "date_str",
        &[
            "5. Oct, ...2022",
            "..31 ..Oct.., 2022.",
            "E.R.R.O.R",
            "31 Sep, 2022",
        ],
    )])
    .unwrap()
    .lazy();

    let df = df.with_column(
        col("date_str")
            .str()
            .replace_all(lit("."), lit(""), true)
            .str()
            .strptime(StrptimeOptions {
                date_dtype: DataType::Date,
                fmt: Some("%d %b, %Y".into()),
                strict: false,
                exact: true,
            })
            .alias("date"),
    );
    println!("{:?}", df.collect().unwrap());
}

补充说明

早期Polars版本采用驼峰命名的StrpTimeOptions,后续版本遵循Rust的命名规范调整为全小写组合的StrptimeOptions,因此旧示例代码会出现找不到类型的错误。

内容的提问来源于stack exchange,提问作者Roger Bos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 18:54:53