从CSV数据生成仪表板

时间:2014-09-10 09:33:31

标签: php csv

我需要使用CSV文件中的数据生成仪表板。示例CSV文件如下所示。

  1. 14年9月9日;詹姆斯;确定
  2. 19.09.14; James; NOK
  3. 14年9月29日;吉姆; NOK
  4. 需要像下面那样呈现数据。

    1. 名称; 2014年9月9日; 2014年9月19日; 2014年9月29日
    2. 詹姆斯;行; NOK;
    3. 吉姆;;; NOK
    4. 您能否建议一种从该源数据文件生成仪表板的方法。

1 个答案:

答案 0 :(得分:0)

这可以通过php数组来处理。以下是您的要求的完整工作代码。

<pre>
<?php

$filename = 'data.csv';
$contents = file($filename);

$col[] = "Name";

foreach($contents as $line) {
    $line = preg_replace( "/\r|\n/", "", $line );
    $line_array = explode(";",$line);
    if(!in_array($line_array[0],$col)){
        $col[] = $line_array[0];
    }
    $row[$line_array[1]][$line_array[0]]=$line_array[2];
}

foreach($col as $val)
{
    echo $val . ";";
}

echo "\n";
unset($col[0]);

foreach($row as $key=>$row_val)
{
    echo $key . ";";
    foreach($col as $col_val)
    {
        if(!isset($row_val[$col_val]))
        {
            $row_val[$col_val] = "";
        }
        echo $row_val[$col_val] . ";";
    }
    echo "\n";
}
?>

可以在此处查看工作样本:http://sugunan.net/demo/csv.php