CSV es un tipo de archivo de texto que contiene son archivos de valores separados por comas (de ahí su nombre). Es un formato bien simple y práctico. No tiene una documentación oficial, pero buscando en internet encontré el RFC 4180, Common Format and MIME Type for Comma-Separated Values (CSV) Files. Al contrario de muchos RFC, que son especificaciones completas de formatos y protocolos, este parece ser simplemente un resumen de las características de los CSV, y un intento por documentar formalmente el formato.
Hay 5 reglas básicas que definen un archivo CSV, a saber:
CRLF
, aunque se
soporta también LF
)En caso de querer ponerlo para descargar, es bueno saber que el tipo
MIME del formato es text/csv
.
La codificación de caracteres por defecto se toma como US-ASCII,
pero puede usarse el parámetro charset
de la cabecera
Content-Type
para especificar otra. Si no se usa charset
, el
programa que trabaje con el archivo CSV deberá decidir qué codificación
usa.
Este es el caso más común, ya que cuando uno abre el archivo con un
programa como Excel u OpenOffice Calc, no existe una cabecera que
indique el tipo MIME.
PHP provee 2 funciones para el manejo de estos archivos: fputcsv y
fgetcsv.
fgetcsv
extrae los campos separados por comas de un archivo, línea
por línea, mientras que fputcsv
permite hacer el proceso contrario.
Python incluye el módulo csv, que permite leer y escribir fácilmente tuplas y listas hacia CSV y viceversa.
Siendo un formato tan simple, resulta muy práctico para transmitir o almacenar información que luego debe ser procesada por otro sistema. También es la forma más sencilla de generar un archivo que pueda ser leído por los programas de hojas de cálculo (Excel, Calc, Gnumeric, etc), aunque no guarda información de formato de texto (negritas, colores, tamaños de letra, etc).
En caso de que no sea suficiente, siempre se puede recurrir a formatos más complejos, como XML o JSON.
Activa Javascript para para cargar los comentarios, basados en DISQUS
El Blog de ElCodiguero funciona sobre Pelican