use polars::prelude::*;
use std::error::Error;
use serde::Serialize;
#[derive(Serialize)]
struct SerializedDataFrame {
rows: usize,
columns: usize,
}
pub fn display_dataframe(df: &DataFrame, json_format: bool) -> Result<(), Box<dyn Error>> {
if json_format {
let serialized_df = SerializedDataFrame {
rows: df.height(),
columns: df.width(),
};
let json_str = serde_json::to_string_pretty(&serialized_df)?;
println!("{}", json_str);
} else {
println!("\x1b[1;92m{}\x1b[0m", "📊 DataFrame:");
println!("\x1b[1;94m{:?}\x1b[0m", df);
}
Ok(())
}
pub fn display_ai_response(response: &str) {
println!("\n🤖 AI Response:\n");
println!("{}", response);
}