将sku数据从现有的csv放到新的csv文件中

时间:2014-05-11 13:36:45

标签: php csv

我想只将csv中的数据[0]放到新的csv文件中。 文件138702_fr的数据0包含一些skus。我想在new.csv中放入以M或O开头的sku。

我不知道如何做到这一点。

// Open the output csv file
$outputfp = fopen('new.csv', 'w');

// Read from the input csv file
if (($inputfp = fopen("138702_fr.csv", "r")) !== FALSE) {

    while (($data = fgetcsv($inputfp, 1000, ";")) !== FALSE) {

        $line=array();

        $line[]=$data[0];

        // Write the line to the file
        fputcsv($outputfp, $line);
    }

    // Clean up
    fclose($inputfp);
    fclose($outputfp);
}

我尝试添加此功能:

<?php
$outputfp = fopen('new.csv', 'w');

if (($inputfp = fopen("138702_fr.csv", "r")) !== FALSE) {

    while (($data = fgetcsv($inputfp, 1000, "|")) !== FALSE) {

        $line=array();

        // SKU
        $line[]=$data[1];
        $price_calcul=(($data[4]*0.20)+$data[4])+2.5;
        $line[] = number_format($price_calcul,2); 
        $line[]=$data[9];

        if(in_array(strtoupper($line[1]), array('E','O')))
        fputcsv($outputfp, $line);

    }

    // Clean up
    fclose($inputfp);
    fclose($outputfp);
}
?>

1 个答案:

答案 0 :(得分:0)

$input = fopen("input.csv","r");
$output = fopen("output.csv","w");

// while there are rows in the input csv
while($row = fgetcsv($input)) {
    // check if sku ($row[0]) starts with M, m, O or o
    if(in_array(strtoupper($row[0][0]), array('M','O')))
        // if it does, write it to the output file
        fputcsv($output, array($row[0]));
}