Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PHP dynamically create CSV: Skip the first line of a CSV file

I am trying to import a CSV file. Due to the program we use, the first row is basically all headers that I would like to skip since I've already put my own headers in via HTML. How can I get the code to skip the first row of the CSV? (the strpos command is to cut off the first field in all the rows.)

<?php $row = 1; if (($handle = fopen("ptt.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {     $num = count($data);            $row++;     for ($c=0; $c < $num; $c++) {     if(strpos($data[$c], 'Finished') !== false) {     $c++; echo "<TR> <TD nowrap>" . $data[$c] . "</ TD>"; }     Else{         echo "<TD nowrap>" .  $data[$c] . "</ TD>";         }     } } fclose($handle); } ?> 
like image 454
Nathan Dunn Avatar asked Jun 05 '12 16:06

Nathan Dunn


People also ask

How to ignore first line of CSV file in PHP?

FALSE) { // fgets() Gets a line from file pointer and read the first line from $handle and ignore it.

Is it necessary to have a line as first line in csv file?

The first row is only mandatory when the import template has the setting use "Use column headers as configuration" enabled. However having the first row in the CSV file helps knowing what data is in the file.


Video Answer


1 Answers

Rather than using if condition for checking whether it is the first row, a better solution is to just add an extra line of code before the line from where the while loop starts as shown below :

.... ..... fgetcsv($handle);//Adding this line will skip the reading of th first line from the csv file and the reading process will begin from the second line onwards while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { ....... ....... 

It is just as simple......

like image 127
Rahul Gupta Avatar answered Sep 18 '22 06:09

Rahul Gupta