Lista de Python en CSV

El formato de archivo conocido como CSV (valores separados por comas) se utiliza para almacenar datos tabulares en texto sin formato, como una hoja de cálculo o una base de datos. Python tiene un módulo integrado llamado CSV que permite leer y escribir archivos CSV. Python tiene dos bibliotecas que podemos usar para escribir o crear archivos CSV. Las funciones csv.writer() y csv.DictWriter(). Las listas son una de las estructuras de datos más populares y utilizadas en Python. En esta publicación, le mostraremos cómo crear un archivo CSV a partir de una lista usando Python.

Contenidos

¿Qué es un objeto de lista en Python?

Una lista de Python es una disposición ordenada de elementos que se pueden modificar. Los elementos o valores que componen una lista o se almacenan en una lista se denominan sus elementos. Cuando se trabaja con muchos valores conectados, las listas son una herramienta útil. Le brindan la capacidad de optimizar su código, realizar las mismas operaciones en múltiples valores a la vez y mantener juntos los datos relacionados.

¿Qué es CSV en Python?

Una gran cantidad de datos en forma tabular (números y texto) se pueden almacenar en este formato en texto sin formato, lo que lo hace muy útil. Cada fila o línea horizontal en los datos representa un único registro, y cada registro consta de uno o varios campos/columnas separados por comas. También se puede utilizar Microsoft Excel para abrir el archivo CSV.

¿Cómo convertir o escribir un objeto de lista a CSV en Python?

Python proporciona cuatro métodos básicos para crear un archivo CSV a partir de una lista y una lista de listas.

  1. Después de importar el módulo CSV a Python, escriba la lista en el archivo usando la función writerows() en el objeto CSV Writer.
  2. Después de importar la biblioteca pandas, cree un DataFrame y luego use la función DataFrame DataFrame.to csv() para escribir su DataFrame en un archivo.
  3. Después de importar la biblioteca NumPy, cree una matriz NumPy y luego use el método numpy.savetxt() para guardar los datos en un archivo CSV.
  4. Use la funcionalidad de E/S de archivos de Python para un enfoque de Python puro que no requiere un módulo.

A continuación, explicamos los métodos individuales y la implementación práctica usando ejemplos.

Método 1: convertir una lista en un archivo CSV usando el módulo CSV

El módulo csv de Python facilita la lectura y escritura de archivos CSV. Usando la función open(), primero abrimos el archivo CSV necesario en modo escritura para usar este módulo. Luego, podemos usar la función csv.writer() para escribir el objeto de la lista de Python en un archivo como una cadena delimitada creando un objeto Writer. Con esta función podemos usar algunos parámetros.

Ejemplo n.º 1: convertir un objeto de lista en una fila CSV

Aquí escribimos el código Python para escribir una lista en una línea CSV. Primero importaremos un módulo CSV. Se crea una lista de elementos de datos. Luego creamos nuestro ‘file_name.csv’. El modo «w+» se utiliza para escribir el archivo CSV. Puede obtener los valores/elementos en la nueva línea usando newline = ‘ ‘. Con writerows() todas las filas se escriben en el archivo, mientras que «csv.writer(file)» escribe todos los datos de la lista en el archivo CSV.

La salida se nos muestra en formato de línea:

Ejemplo n.º 2: convertir un objeto de lista en un encabezado CSV

Ahora veremos cómo convertir una lista en un encabezado CSV. En este ejemplo, tomamos una variable después de cargar/importar el módulo CSV. Luego usamos la función open() para abrir el archivo. El método de escritura csv se utiliza para escribir/convertir el objeto de lista en un archivo csv. Con writerow() escribimos los datos de la lista en forma de filas en un archivo CSV. Nuevamente, usamos la función writerows() para escribir el encabezado de datos de la lista.

El encabezado y los elementos de la lista son visibles en nuestro archivo CSV:

Método 2: convertir una lista en un archivo CSV usando el módulo Pandas

Para usar este método, primero debemos convertir el objeto de la lista en un DataFrame, que luego se convierte en un archivo CSV externo. Este método es muy útil cuando necesitamos escribir más de una lista o lista de listas en un archivo .csv. Además, nos permite incluir automáticamente un índice de columna y nombres de columna en el archivo resultante.

Ejemplo #1: Usar la función to_csv()

Se puede construir un DataFrame de Pandas a partir de una lista de listas, lo que le brinda acceso a funciones útiles como el método to_csv(). La ventaja de este método es que no es necesario importar bibliotecas adicionales.

Archivo de salida:

Estos parámetros se pueden utilizar con esta función para cambiar el archivo de salida:

  • El separador del archivo de salida se puede configurar con el parámetro sep.
  • Las columnas del archivo de salida se pueden especificar con el parámetro Columnas.
  • La codificación deseada se puede especificar utilizando el parámetro de codificación.
  • Podemos especificar nombres de columna con el argumento del encabezado.
  • La etiqueta de índice y los parámetros de índice se pueden usar para especificar el índice de fila o los nombres de columna que se usarán como índice.

Método 3: convertir una lista en un archivo CSV usando el módulo Numpy

Las capacidades de ciencia de datos y aprendizaje automático y de Python se basan en NumPy. Los pandas incluso utilizan matrices NumPy para implementar funciones esenciales. El módulo Numpy proporcionó algunas funciones que podemos usar para escribir el objeto de lista en CSV. Este método es más efectivo cuando solo tiene datos numéricos. De lo contrario, se requieren transformaciones de tipo de datos complejas, lo que no se recomienda.

Ejemplo #1: Usar la función savetext()

Puede usar la función savetext() de NumPy para crear un archivo CSV a partir de una lista de listas. La matriz NumPy se pasa como entrada a la función.

Archivo de salida:

En el guión de arriba

  • Dado que todos los elementos eran números, configuramos el argumento fmt en %d para especificar el formato como números enteros.
  • La coma se especifica como separador.

Ejemplo #2: Usar la función numpy.tofile()

La función tofile() del módulo NumPy se usa normalmente para el almacenamiento rápido de datos en archivos de texto o binarios. Se puede escribir una lista en un CSV usando la función tofile(). Sin embargo, la salida es una línea. Esta función le permite especificar el formato de los datos y el delimitador utilizando los parámetros format y sep.

Archivo de salida:

Como puede verse, todo está dispuesto en una sola línea en lugar de en filas. Es necesario convertir primero la lista en una matriz antes de usar la función tofile().

Método 4: convertir una lista a CSV sin importar módulos

Podemos usar la implementación básica o predeterminada de Python en lugar de importar bibliotecas para crear un archivo CSV a partir de una lista de listas, ya que es simple y efectivo. Sin embargo, si es posible, debe confiar en las bibliotecas para que hagan el trabajo por usted.
Ejemplo:El objeto de archivo se abre primero. El siguiente paso es iterar sobre las filas y los elementos de las filas y luego escribir todos los elementos en el archivo.

Archivo de salida:

Para crear un formato de archivo CSV, agregue una coma después de cada elemento. El carácter de nueva línea «\n» debe aparecer después de cada línea.

Conclusión

En este tutorial, vimos por primera vez la introducción a CSV y enumeramos objetos en pandas. Luego discutimos cómo convertir la lista a un archivo CSV en Python. Hemos explicado cuatro métodos para crear un archivo CSV a partir de una lista o una lista de listas. En el primer método, usamos el módulo csv. En el segundo método, usamos el módulo pandas para convertir la lista en un marco de datos y luego en csv. En el tercer método, usamos las funciones savetext() y tofile() del módulo Numpy. En el último método, implementamos un ejemplo para crear CSV desde un objeto de lista sin importar un módulo.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.