You might have seen that Magento provides a functionality to directly export the content from the grids in admin section like Sales, Products etc in the form of CSV or XML. But sometimes you need to generate a CSV with the custom data. Magento has already a nice class for it, it can be found at lib/Varien/File file name Csv.php. This class can be used to read and write CSV.
This example code will save the products data into the CSV file.
$file_path = "/your_dir_path/sample.csv";
//file path of the CSV file in which the data to be saved
$mage_csv = new Varien_File_Csv(); //mage CSV
$products_ids = array(1,2,3); //product ids whose data to be written
$products_model = Mage::getModel('catalog/product'); //get products model
$products_row = array();
foreach ($products_ids as $pid)
$prod = $products_model->load($pid);
$data = array();
$data[‘sku’] = $prod->getSku();
$data[‘name’] = $prod->getName();
$data[‘price’] = $prod->getPrice();
$products_row = $data;
//write to csv file