使用未声明的类型"ParquetWriter"



这看起来很简单,但我不明白。。。

use polars::prelude::*;
use std::fs::File;
fn write_df_to_parquet(df: &mut DataFrame) {
let mut file = File::create("df.parquet").expect("could not create file");
ParquetWriter::new(&mut file)
.finish(df)
}

得到CCD_ 1。

ParquetWriter不是在use polars::prelude::*;行中导入的吗?

此处给出的示例:https://github.com/pola-rs/polars/blob/51e0e40457d5f2f224df0a4dcf389ced16fbac05/examples/read_csv/src/main.rs

似乎正通过该导入访问ParquetWriter

我确信我错过了一些愚蠢的东西。如有任何帮助或建议,我们将不胜感激。

我在源代码中搜索到了ParquetWriter的实现,并遵循了pub use链。在序言中,polars-io(实现ParquetWriter的机箱(被列为一个特性。

我怀疑您需要的功能没有安装。即使是polars-io板条箱本身也有镶木地板结构的特点。它也需要安装。要安装它们,请将这些行添加到工作区根目录中的use of undeclared type `ParquetWriter`0文件中。

请注意,您需要更改polars-io的版本以匹配polars的版本,否则会出现依赖不匹配

polars = { version = "0.24.2", features = ["polars-io"] }
polars-io = { version = "0.24.2", features = ["parquet"] }

更新的更高版本

[dependencies.polars]
version = "0.28"
features = ["parquet"]

最新更新