Cómo analizar un archivo CSV usando PHP

Como Analizar Un Archivo Csv Usando Php



CSV Los archivos contienen valores separados por comas y son el formato de manejo de datos popular y bien establecido que se utiliza para almacenar los datos en forma tabular. Estos archivos se pueden crear fácilmente con MS Excel, OpenOffice y Google Sheets. analizando el CSV file está leyendo el archivo línea por línea y separando las líneas en valores de matriz.

En esta guía, explicaremos cómo puede analizar un CSV archivo usando PHP.







Analizar un archivo CSV usando PHP

El método integrado de PHP que analiza el archivo CSV es fgetcsv() y lee una línea del archivo CSV y la analiza en una matriz.



La sintaxis de usar el fgetcsv() La función en PHP es la siguiente:



fgetcsv ( '.csv' , longitud , ',' )

Esta función acepta tres parámetros, el nombre del archivo, la longitud del parámetro opcional de la línea más larga y luego otro delimitador de campo de parámetro opcional. El delimitador de campo predeterminado es la coma con comillas dobles como recinto.





Utilice la función fgetcsv() para analizar un archivo CSV en PHP

Así es como puede usar el fgetcsv() función para analizar un archivo CSV en PHP:

Paso 1 : Primero, abra un archivo CSV usando el fopen() función. Aquí modo r se utiliza para abrir el archivo para lectura y $manejar es el identificador para contener los datos del archivo:



$manejar = abierto ( 'nombre de archivo.csv' , 'r' ) ;

Paso 2 : Después de eso, puede usar un bucle while para analizar cada CSV fila por separado, el ciclo continuará hasta el final del archivo:

mientras ( ( $datos = fgetcsv ( $manejar , 1000 , ',' ) ) !== FALSO )

{

  // Leer datos del archivo CSV

}

Paso 3 : Una vez que se lee el archivo, debe cerrarlo usando la función fclose() pasando handle como único argumento.

cerrar ( $manejar ) ;

Aquí hay un código completo en PHP que sigue los pasos anteriores y le permite abrir el archivo CSV en modo de solo lectura, si se encuentra el archivo, de lo contrario volverá FALSO :



$manejar = abierto ( 'datos.csv' , 'r' ) ;

mientras ( ( $fila = fgetcsv ( $manejar ) ) !== FALSO ) {

  var_dump ( $fila ) ;

}

cerrar ( $manejar ) ;

?>

El código anterior primero abre el archivo 'data.csv' en modo de lectura usando la función fopen() y asigna el identificador de archivo a la variable $ identificador. Después de eso, lee cada línea del archivo usando un bucle while y la función fgetcsv(). El código utiliza la comparación !== false para garantizar la lectura hasta que se alcanza el final del archivo.

Producción

Convierta un archivo CSV en una matriz multidimensional en PHP

También puede analizar un CSV archivo convirtiéndolo en una matriz multidimensional para que los datos se puedan leer fácilmente dentro del archivo. El siguiente código lo ayudará a extraer los datos del archivo CSV de una manera más organizada.



$nombre de archivo = 'datos.csv' ;

$matriz_anidada = [ ] ;

si ( ( $manejar = abierto ( ' {$nombre de archivo} ' , 'r' ) ) !== FALSO )

{

  mientras ( ( $datos = fgetcsv ( $manejar , 1000 , ',' ) ) !== FALSO )
  {
    $matriz_anidada [ ] = $datos ;        
  }
  cerrar ( $manejar ) ;


}

eco '
'  ; 

var_dump ( $matriz_anidada ) ;

eco '
'
;

Para hacer que los datos tengan un formato legible, el código anterior usa la función llamada var_dump() que formatea y genera los datos de manera estructurada dentro de una preetiqueta HTML.

Producción

Esta es otra manera de abrir el CSV archivo en PHP de una manera más personalizada. El código dado a continuación mostrará los datos de cada fila. Primero, abrimos el archivo usando el función fopen() . Luego use el controlador para colocar cada fila del archivo en él, y use el ciclo while para leer todo CSV archivo hasta que el puntero llegue al final del archivo. Al final, cerramos el archivo:



$fila = 1 ;

si ( ( $manejar = abierto ( 'datos.csv' , 'r' ) ) !== FALSO ) {

  mientras ( ( $datos = fgetcsv ( $manejar , 1000 , ',' ) ) !== FALSO ) {

    $números = contar ( $datos ) ;

    eco ' $números campos en linea $fila :

\norte '
;

    $fila ++;

    para ( $c = 0 ; $c < $números ; $c ++ ) {

        eco $datos [ $c ] . '
\norte '
;

    }

  }

cerrar ( $manejar ) ;

}

?>

Producción

Línea de fondo

En PHP , podemos abrir el archivo usando el fopen() función, lea el archivo línea por línea usando el fgetcsv() y cierre el archivo con el cerrar() función. Este proceso se puede repetir para cada línea en el CSV archivo, lo que le permite leer y manipular fácilmente datos tabulares en PHP.