table_to_csv/
csv_writer.rs

1use anyhow::{Context, Result};
2use csv::Writer;
3
4/// Write data to CSV file
5pub 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    // Write headers
10    writer.write_record(headers)
11        .context("Failed to write CSV headers")?;
12    
13    // Write data rows
14    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