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.