table_to_csv/
csv_writer.rs1use anyhow::{Context, Result};
2use csv::Writer;
3
4pub fn write_csv(filename: &str, headers: &[String], rows: &[Vec<String>]) -> Result<()> {
6 let mut writer = Writer::from_path(filename)
7 .context("Failed to create CSV file")?;
8
9 writer.write_record(headers)
11 .context("Failed to write CSV headers")?;
12
13 for row in rows {
15 writer.write_record(row)
16 .context("Failed to write CSV row")?;
17 }
18
19 writer.flush()
20 .context("Failed to flush CSV writer")?;
21
22 println!("Created {} with {} rows", filename, rows.len());
23
24 Ok(())
25}
26