parse csv file php

У меня есть файл csv, который я хочу использовать с php. Первое в csv – имена столбцов. Все разделяется запятыми.

Я хочу иметь возможность помещать имена столбцов в качестве имени массива, и все значения для этого столбца будут находиться под этим именем массива. Поэтому, если в столбце 1 было 20 строк, я мог бы сделать column1 [0], и первый экземпляр (а не имя столбца) будет отображаться для столбца1.

Как мне это сделать?

Related of "parse csv file php"

Вы хотите, чтобы fgetcsv получал каждую строку CSV-файла в виде массива. Поскольку вы хотите, чтобы каждый столбец был в своем собственном массиве, вы можете извлечь элементы из этого массива и добавить его в новый массив (ы), представляющий столбцы. Что-то вроде:

 $col1 = array(); while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) { $col1[] = $row[0]; } 

Кроме того, вы можете прочитать весь CSV-файл, используя fgetcsv в 2D-матрицу (если файл CSV не слишком велик):

 $matrix = array(); while (($row = fgetcsv($handle, 1000, ",")) !== FALSE) { $matrix[] = $row; } 

а затем извлеките нужные столбцы в свои собственные массивы:

 $col1 = array(); for($i=0;$i<count($matrix);$i++) { $col1[] = $matrix[0][i]; }