Leer o analizar un archivo CSV en PHP

Muhammad Abubakar 30 enero 2023
  1. Utilice fread() para leer un archivo CSV en PHP
  2. Utilice readfile() para leer un archivo CSV en PHP
  3. Utilice la función str_getcsv() para analizar CSV en Python
  4. Utilice la función fgetcsv() para analizar CSV en Python
Leer o analizar un archivo CSV en PHP

El manejo de archivos es un componente esencial de cualquier aplicación web. Este tutorial presentará cómo leer, escribir y adjuntar archivos mediante el manejo de archivos.

Utilice fread() para leer un archivo CSV en PHP

Es la función básica de leer el archivo CSV en PHP. Lee el archivo y devuelve todo el contenido presente en el archivo.

Vea el código de ejemplo.

<?php
$file = "text1.csv";
$openfile = fopen($file, "r");
$cont = fread($openfile, filesize($file));
echo $cont;
?>  

Producción :

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""

fread() requiere dos parámetros: el archivo del que queremos leer los datos y el tamaño del archivo que podemos obtener pasando el archivo como parámetro a la función filesize($file).

Utilice readfile() para leer un archivo CSV en PHP

Esta función lee un archivo y guarda los resultados en la memoria o caché. Abre el archivo y lee su contenido. Solo acepta un parámetro, que es el archivo.

<?php
echo readfile("text1.csv");
?>

Producción :

aaa,bbb,ccc,dddd
123,456,789
"""aaa""","""bbb"""
49

La función fread() solo lee el archivo y devuelve los datos en el editor, pero la función readfile() lee un archivo pero también guarda su resultado en la memoria o caché.

Utilice la función str_getcsv() para analizar CSV en Python

Esta función analiza una cadena en formato CSV y devuelve un array que contiene los datos del archivo. Convierte los datos de un archivo CSV en un array, pero antes de ejecutarlo, debe abrir el archivo usando la función fopen(), que toma el archivo y el modo como parámetros. Vea el siguiente ejemplo.

<?php
$handle = fopen("text1.csv", "r");
$lineNumber = 1;
while (($raw_string = fgets($handle)) !== false) {
    $row = str_getcsv($raw_string);
    var_dump($row);
    $lineNumber++;
}
fclose($handle);
?>

Producción :

array(4) {
  [0]=>
  string(3) "aaa"
  [1]=>
  string(3) "bbb"
  [2]=>
  string(3) "ccc"
  [3]=>
  string(4) "dddd"
}
array(3) {
  [0]=>
  string(3) "123"
  [1]=>
  string(3) "456"
  [2]=>
  string(3) "789"
}
array(2) {
  [0]=>
  string(5) ""aaa""
  [1]=>
  string(5) ""bbb""
}

Utilice la función fgetcsv() para analizar CSV en Python

Ahora, usaremos una función interesante llamada fgetcsv() para analizar los datos de un archivo CSV. Los siguientes pasos son necesarios para utilizar esta función.

  1. Abra el archivo para acceder a los datos del archivo desde un archivo.
  2. Utilice la función fgetcsv() dentro de un bucle para analizar cada fila del archivo por separado.
  3. Cierre el archivo

Vea el código de ejemplo.

<?php

$file = fopen('text1.csv', 'r');
while (($line = fgetcsv($file)) !== FALSE) {
    echo '<pre>';
    print_r($line);
    echo '</pre>';
}
fclose($file);
?>

Producción :

<pre>Array
(
    [0] => aaa
    [1] => bbb
    [2] => ccc
    [3] => dddd
)
</pre><pre>Array
(
    [0] => 123
    [1] => 456
    [2] => 789
)
</pre><pre>Array
(
    [0] => "aaa"
    [1] => "bbb"
)
</pre>

Artículo relacionado - PHP File