How to parse a CSV file using PHP

PHPServer Side ProgrammingProgramming

To parse a CSV file in PHP, the code is as follows. Under fopen(), set the path of the .csv file−

Example

$row_count = 1;
if (($infile = fopen("path to .csv file", "r")) !== FALSE) {
   while (($data_in_csv = fgetcsv($infile, 800, ",")) !== FALSE) {
      $data_count = count($data_in_csv);
      echo "<p> $data_count in line $row_count: <br /></p>\n";
      $row_count++;
      for ($counter=0; $counter < $data_count; $counter++) {
         echo $$data_in_csv[$counter] . "<br />\n";
      }
   }
   fclose(infile);
}

Code explanation − The file can be opened in reading mode (if it exists) and until a specific threshold length, it can be read and displayed. The row_count counter can be incremented to parse the next line in the file.

Output

The input CSV file will be parsed and displayed line by line.

For PHP version>=5.3.0, the below code can be used−

$file_to_read = file('path to .csv file');
$data_to_ingest = [];
foreach ($file_to_read as $infile) {
   $data_to_ingest[] = str_getcsv(infile);
}

Note − This wouldn’t work if the CSV file has any new line characters since the logic is that the function splits the newlines and doesn’t identify quotation marks.

raja
Published on 30-Dec-2019 11:24:57
Advertisements