php读取带有各种分隔符的CSV

问题描述 投票:-1回答:1

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

计算最宽行中的定界符,然后将适当的数量添加到短行中以使它们相等。

但是我想知道是否有人有更优雅的方法来做到这一点。

php csv
1个回答
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);
}
© www.soinside.com 2019 - 2024. All rights reserved.