Как разобрать файл CSV с помощью PHP

Kak Razobrat Fajl Csv S Pomos U Php



CSV файлы содержат значения, разделенные запятыми, и являются популярным, хорошо зарекомендовавшим себя форматом обработки данных, используемым для хранения данных в табличной форме. Эти файлы можно легко создать в MS Excel, OpenOffice и Google Sheets. Разбор CSV file читает файл построчно и разделяет строки на значения массива.

В этом руководстве мы объясним, как вы можете разобрать CSV файл с помощью PHP.







Разобрать файл CSV с помощью PHP

Встроенный метод PHP, который анализирует файл CSV: fgetcsv() и он читает строку из файла CSV и анализирует ее в массив.



Синтаксис использования fgetcsv() функция в PHP выглядит следующим образом:



fgetcsv ( '<имя файла>.csv' , длина , ',' )

Эта функция принимает три параметра, имя файла, необязательный параметр длины самой длинной строки, а затем еще один необязательный разделитель поля параметра. Разделителем полей по умолчанию является запятая, заключенная в двойные кавычки.





Используйте функцию fgetcsv() для анализа файла CSV в PHP

Вот как вы можете использовать fgetcsv() функция для анализа файла CSV в PHP:

Шаг 1 : Сначала откройте файл CSV с помощью fopen() функция. Здесь р режим используется для открытия файла для чтения и $дескриптор это дескриптор для хранения данных из файла:



$дескриптор '=' fopen ( 'имя файла.csv' , 'р' ) ;

Шаг 2 : после этого вы можете использовать цикл while для разбора каждого CSV строку отдельно, цикл будет продолжаться до конца файла:

пока ( ( $данные '=' fgetcsv ( $дескриптор , 1000 , ',' ) ) !== ЛОЖЬ )

{

// Чтение данных CSV-файла

}

Шаг 3 : Как только файл будет прочитан, вы должны закрыть его с помощью функции fclose(), передав дескриптор в качестве единственного аргумента.

закрыть ( $дескриптор ) ;

Вот полный код на PHP, который следует вышеописанным шагам и позволяет открыть CSV-файл в режиме только для чтения, если файл найден, иначе вернет ЛОЖЬ :



$дескриптор '=' fopen ( 'данные.csv' , 'р' ) ;

пока ( ( $строка '=' fgetcsv ( $дескриптор ) ) !== ЛОЖЬ ) {

var_dump ( $строка ) ;

}

закрыть ( $дескриптор ) ;

?>

Приведенный выше код сначала открывает файл data.csv в режиме чтения с помощью функции fopen() и присваивает дескриптор файла переменной $handle. После этого он считывает каждую строку файла, используя цикл while и функцию fgetcsv(). В коде используется сравнение !== false, чтобы обеспечить чтение до конца файла.

Выход

Преобразование файла CSV в многомерный массив в PHP

Вы также можете разобрать CSV файл, преобразовав его в многомерный массив, чтобы данные легко читались внутри файла. Следующий код поможет вам более организованно извлечь данные из файла CSV.



$filename '=' 'данные.csv' ;

$ вложенный_массив '=' [ ] ;

если ( ( $дескриптор '=' fopen ( ' {$имя файла} ' , 'р' ) ) !== ЛОЖЬ )

{

пока ( ( $данные '=' fgetcsv ( $дескриптор , 1000 , ',' ) ) !== ЛОЖЬ )
{
$ вложенный_массив [ ] '=' $данные ;
}
закрыть ( $дескриптор ) ;


}

эхо '<пред>' ;

var_dump ( $ вложенный_массив ) ;

эхо '' ;

Чтобы привести данные в удобочитаемый формат, приведенный выше код использует функцию, называемую var_dump() который форматирует и выводит данные в структурированном виде в предварительном теге HTML.

Выход

Вот еще один способ открыть CSV файл в PHP более индивидуальным образом. Приведенный ниже код будет отображать данные каждой строки. Сначала мы открыли файл с помощью функция fopen() . Затем используйте дескриптор, чтобы поместить в него каждую строку файла, и используйте цикл while, чтобы прочитать весь CSV файла, пока указатель не достигнет конца файла. В конце закрываем файл:



$строка '=' 1 ;

если ( ( $дескриптор '=' fopen ( 'данные.csv' , 'р' ) ) !== ЛОЖЬ ) {

пока ( ( $данные '=' fgetcsv ( $дескриптор , 1000 , ',' ) ) !== ЛОЖЬ ) {

$номера '=' считать ( $данные ) ;

эхо '

$номера поля в очереди $строка :

\n '
;

$строка ++;

для ( '=' 0 ; < $номера ; ++ ) {

эхо $данные [ ] . '
\n '
;

}

}

закрыть ( $дескриптор ) ;

}

?>

Выход

Нижняя граница

В PHP , мы можем открыть файл с помощью fopen() функцию, прочитать файл построчно, используя fgetcsv() и закройте файл с помощью fclose() функция. Этот процесс можно повторить для каждой строки в CSV файл, позволяющий легко читать табличные данные и управлять ими в PHP.