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.
