Un archivo CSV es un archivo de texto plano que contiene datos en formato de tabla. Cada línea es como una fila en una tabla, y las columnas están separadas por una coma. De ahí el nombre de valor separado por comas.
A continuación se presenta un ejemplo de un archivo de este tipo que contiene una tabla de números, nombres y apellidos de personas:
121,murat,aykanat2,john,smith
csv
El formato CSV es muy útil porque es un archivo de texto y cualquier sistema operativo puede leerlo. Por ejemplo, si tu aplicación crea el archivo CSV en una máquina de Windows, puedes abrirlo y usarlo en una máquina de Linux. Por lo tanto, es un formato de archivo muy portátil y fácil de leer.
Formato de un archivo CSV
Cuestiones de separación
En algunos casos, el archivo puede no estar separado por una coma. Especialmente si se utiliza un programa de terceros (por ejemplo, Microsoft Excell), dependiendo de la cultura de su máquina «separador» podría ser un carácter diferente como ;. Esto se debe a que el separador de decimales es diferente en las diferentes culturas. En algunas culturas, el separador decimal es . por lo que el separador CSV puede ser ,. Pero en algunas culturas el separador decimal es , por lo que el archivo CSV tiene que usar ; como separador.
Por ejemplo, si su localidad está configurada para alguna cultura europea, como fr-FR, el separador de decimales por defecto se convierte en , y necesita usar ; en el archivo CSV como separador de columnas:
123,5;2,5;5,44,5;6,7;8,9
csv
Sin embargo, en una máquina que tiene en-US establecido como predeterminado, ya que el separador de decimales es . por defecto, el mismo archivo CSV se vería así:
123.5,2.5,5.44.5,6.7,8.9
csv
Número de campos de datos en cada fila
La regla más crítica es que cada fila debe contener el mismo número de campos de datos, de lo contrario sería imposible de leer por cualquier lector de CSV y tampoco tendría sentido.
Si tienes un campo de datos vacío, puedes usar una cadena vacía.
121,,aykanat2,john,smith
csv
La coma en un campo de datos
Si tienes valores de texto en tu archivo CSV, podrías encontrarte con un problema en el que hay una coma dentro de una de tus filas, lo que supondría un problema porque ese campo se dividiría de esa coma y acabarías con una columna extra en esa fila.
11, Hola, mundo!
csv
En el ejemplo anterior, nuestra primera columna es la 1 y la segunda es ¡Hola, mundo!, sin embargo, un lector de CSV dividiría la fila en 3 columnas 1, ¡Hola y mundo!.
Para resolver este problema debemos usar comillas:
11, "Hola, mundo!"
csv
De esta forma queremos decir que la cadena ¡Hola, mundo! es un único campo de datos.
También puede usar comillas en las cadenas de una sola palabra, pero no es necesario.
121, "murat", "aykanat "1, "john", "smith"
csv
Marcas de cita en un campo de datos
También podemos tener comillas reales en nuestros campos de datos. En este caso, necesitamos doblar nuestras comillas indicando que está incluido en el campo de datos.
121,murat,""aykanat""2,john,""smith""
csv
Eso se leerá como; el número es 1, el nombre es murat, el apellido es «aykanat».
Cabezales
También puedes añadir cabeceras a las columnas.
123id, nombre, apellido1, murat, aykanat1, john, smith
csv
Esto es útil cuando las columnas no están claras por sus campos de datos. Por ejemplo, si las columnas son todas números y se envía el archivo a una persona que no sabe lo que significan las columnas, eso sería muy confuso para la otra persona porque no sabe lo que significan esos números, por lo que sería mejor incluir encabezados en esos escenarios para indicar lo que significan esas columnas de valores.
Más detalles
Si quieres saber más sobre el formato de archivo CSV, puedes usar el artículo de Wikipedia sobre CSV y sus recursos.