如何在Rust中打印Polars DataFrame的完整内容?
解决Rust中Polars DataFrame无法打印具体内容的问题
步骤1:启用Polars的格式化特性
Polars默认未启用完整格式化所需的特性,需要在Cargo.toml中添加fmt或fmt_no_tty特性(两者选其一即可,fmt适配终端环境,fmt_no_tty适配非终端环境),同时确保包含读取CSV所需的csv特性:
[dependencies] polars = { version = "0.37.0", features = ["fmt", "csv"] }
注:版本号可根据你使用的Polars实际版本调整
步骤2:调整打印方式
方式一:使用Display格式化(推荐)
替换原代码中的println!("{:?}", test_df)为println!("{}", test_df),利用Polars的Display trait实现完整输出:
use polars_core::prelude::*; use polars_io::prelude::*; fn main() { let test_df = example(); println!("{}", test_df); // 使用Display格式化 } fn example() -> DataFrame { CsvReadOptions::default() .with_has_header(true) .try_into_reader_with_file_path(Some("C://Rust_WS//test_dataframe//test.csv".into())) .unwrap() .finish() .unwrap() }
方式二:使用Polars内置的print()方法
直接调用DataFrame的print()方法,该方法会自动处理格式化输出:
use polars_core::prelude::*; use polars_io::prelude::*; fn main() { let test_df = example(); test_df.print(); // 调用内置打印方法 } fn example() -> DataFrame { CsvReadOptions::default() .with_has_header(true) .try_into_reader_with_file_path(Some("C://Rust_WS//test_dataframe//test.csv".into())) .unwrap() .finish() .unwrap() }
执行cargo run后,就能看到DataFrame的完整内容,而不仅仅是形状信息。
内容的提问来源于stack exchange,提问作者Aneesh
相关产品推荐
相关产品推荐

