php读取CSV与不同数量的分隔符

时间:2012-04-02 23:12:53

标签: php csv

我有一个从CSV文件中读取的脚本,有时它接收的CSV文件包含不均匀的分隔符/列,因此第一行可以有30列,第二行可以有20列,等等。我可以我自己想一些解决方案,即:

计算最宽行中的分隔符,然后将适当的数量附加到每个短行以使它们均匀。

但我想知道是否有人有更优雅的方法来做这件事。

1 个答案:

答案 0 :(得分:2)

这取决于您使用什么来阅读最优雅的CSV fgetcsv请参阅http://www.php.net/manual/en/function.fgetcsv.php了解更多信息

有一个例子可以计算CSV的数量......

$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
        $num = count($data);
        echo "<p> $num fields in line $row: <br /></p>\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
            echo $data[$c] . "<br />\n";
        }
    }
    fclose($handle);
}

由于

:)