En este post voy a explicar cómo podemos leer un archivo o fichero CSV (valores separados por coma) en el lenguaje de programación PHP. Para ello, se utiliza la función fgetcsv
, la cual permite leer fila por fila como si se tratara de un arreglo.
Veremos los argumentos que recibe esta función, las formas de llamarla y cómo manejar los errores comunes.
La función fgetcsv recibe un manejador de archivo, es decir, algo que devuelve una función como fopen
. Nosotros nos encargamos de abrir el archivo, y el manejador se lo pasamos a fgetcsv
; ya que esa función no se encarga de abrirlo.
Los argumentos para la función son, en orden:
"
.\
.Así que en resumen, sólo es obligatorio el primer argumento: el manejador; los demás tienen valores por defecto.
Esto de la longitud máxima de la línea es importante, pues si la ponemos en 0 no habrá errores pero la lectura será un poco más lenta.
Sobre los valores devueltos, fgetcsv devuelve un arreglo que representa una línea del archivo. También puede regresar null si el manejador es erróneo, o false cuando termina de leer el archivo (o también si existen otros errores).
Para ello, cada vez que la llamamos, comprobamos si lo que devuelve no es false
. Si no, entonces accedemos al arreglo. El arreglo que devuelve es la línea o fila, y cada elemento es una columna.
Aquí expongo un ejemplo para leer un CSV de productos. Cada campo está separado por comas, y cada fila por un salto de línea.
La primera línea es el encabezado, por eso hago una comparación con el número de fila para saber si es la primera.
Aunque GitHub muestra los archivos CSV como tablas, puedes abrirlo y hacer click en view raw para ver cómo es en realidad.
Como se observa, primero se intenta abrir el archivo con fopen
. En caso de que no se pueda, se sale del script inmediatamente. En caso de que sí se pueda abrir, le pasamos el manejador a fgetcsv
y en un ciclo while
leemos todo el contenido.
Eres libre de copiar el código y probarlo por ti mismo. Para ello, primero asegúrate de tener instalado Apache y PHP. Después, puedes ejecutar los ejemplos desde la terminal o visitando htdocs.
Me he basado en este link de la documentación oficial.
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Esta web usa cookies.
Ver comentarios
Muuy buen aporte graciass!
A la orden
Saludos!