2016-03-30 70 views
2

我想統計包含csv中數據的行的總數。 我沒有以下內容:用csv中的數據計算行使用PHP

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

這裏,如果所有的值僅在第一列則輸出是正確的。 例如。 Row1Col1='a' & Row4Col1='b'O/P = 2正確的,因爲在排數據是

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

但是,如果值是在不同的列然後得到錯誤的輸出。 例如。 Ro1Col3='a' & Row4Col1='b'O/P = 4錯了(要正確的輸出爲2),因爲行數據是

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

感謝, Jaydeep

回答

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; 

?> 
+0

非常感謝。 它工作正常。 –