Leer y procesar archivos separados por comas en PHP



Los archivos separados por comas o archivos CSV, son utilizados para realizar cargas de datos o migraciones de un sistema a otro. En este articulo voy a mostrarte como puedes procesar archivos CSV en PHP.

En el artículo anterior escribí, sobre como puedes exportar datos en archivos CSV. Ahí utilizamos un archivo con dos columnas: Mes y Ventas, ahora vamos a utilizar el mismo archivo para leerlos desde PHP.

Crea un archivo con extensión .php y agrega el siguiente código. También vas a necesitar tener un archivo llamado ventas.csv en la misma carpeta.

<?php
$archivo = "ventas.csv";
// Abrir archivo a procesar
$fp = fopen($archivo,'r') or die("No se puede abrir el archivo");

//Leer linea por linea
while($csv_line = fgetcsv($fp,0,";")) {
    //Procesar con un for, cada columna en esta fila
    for ($i = 0, $j = count($csv_line); $i < $j; $i++) {
      switch ($i) {
        case 0: //Sabemos que la primera columna es el mes
          echo "<b>Mes: </b>" . $csv_line[$i];
          break;
        case 1: //Sabemos que la segunda columna es la venta
          echo "<b>Venta: </b>" . $csv_line[$i];
          break;
        default:
          break;
      }
    }
    // Nueva linea
    echo("<br>");
}
fclose($fp) or die("Error al cerrar el archivo");

 ?>

En el último parámetro de la función fgetcsv($fp,0,";") indicamos que nuestro archivo está separado por ; si tú usas solamente , o algún otro caracter, entonces debes cambiar el tercer parámetro.

En el ciclo While proceso cada línea del archivo y con el ciclo For proceso cada columna de cada fila.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *