使用PHP计算csv中包含数据的行

时间:2016-03-30 05:54:22

标签: php csv

我想计算csv中包含数据的总行数。 我做了以下事情:

<?php echo count(file('example.csv',FILE_IGNORE_NEW_LINES |` `FILE_SKIP_EMPTY_LINES)); ?>

此处,如果所有值仅在第一列中,则输出正确。 例如。 Row1Col1='a'&amp; Row4Col1='b' o / p = 2 正确,因为行中的数据是

Row1->'a',Row2->'',Row3->'',Row4->'b'

但是如果值在不同的列中,那么输出错误。 例如。 Ro1Col3='a'&amp; Row4Col1='b' o / p = 4 错误(想要正确的输出为2),因为行中的数据是

Row1->'a', Row2->',,' Row3->',,' Row4->'b'.

谢谢, Jaydeep

1 个答案:

答案 0 :(得分:1)

您可以尝试PHP函数function.str_getcsv

您可以使用function.array_filter删除CSV中的所有null元素。

<?php

    $csv_complete_contents = array_map('str_getcsv', file('example.csv'));
    $csv_complete_filtered = array_filter(array_map('array_filter', $csv_complete_contents));
    $csv_num_rows = count($csv_complete_filtered);

    echo $csv_num_rows;

?>