我想计算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
答案 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;
?>