Cómo escribir una lista en CSV en Python

Cómo escribir una lista en CSV en Python

Si ha estado luchando con las listas de Python y se pregunta cómo puede guardarlas como un archivo CSV ordenado, está en el lugar correcto. Una de las tareas más comunes en Python es escribir una lista en un archivo delimitado por comas, y hoy lo convertiremos en un profesional de la magia de archivos CSV.

Para escribir una lista en CSV en Python, puede usar un módulo integrado llamado csv que está diseñado especialmente para leer y escribir archivos CSV. La clase csv.writer del módulo proporciona funciones para escribir listas simples y anidadas en archivos CSV.

Otros métodos para obtener el mismo resultado incluyen la instalación y el uso de los módulos externos Pandas o NumPy.

Este artículo explicará los conceptos y lo guiará paso a paso a través del proceso con todos los ejemplos de código que necesita para comenzar.

¡Vamos!

Tabla de contenido

¿Qué son las listas en Python?

Cómo escribir una lista en CSV en Python

Una lista en Python es una estructura de datos integrada que se utiliza para almacenar varios elementos en una sola variable.

Las listas de Python son:

  • ordenado (a partir de cero).

  • mutable (puede ser modificado).

  • capaz de almacenar valores duplicados.

Las listas se definen teniendo valores entre corchetes [] y los elementos están separados por comas. Los elementos de una lista pueden ser de cualquier tipo de datos, como números, cadenas e incluso otras listas.

Aquí hay un ejemplo de cómo crear una lista simple:

products = [“t-shirts”, “hoodies”, “jeans”]

Listas de listas en Python

Las listas de listas también se conocen como listas anidadas . Estas son listas que contienen otras listas como sus elementos.

A menudo se usan en Python para representar datos estructurados en filas y columnas. Se usan comúnmente en escenarios en los que necesita agrupar datos relacionados.

Este es un ejemplo de creación de una lista anidada que representa productos, precios y ventas.

product_sales = [[“t-shirts”, 9.99, 342], [“hoodies”, 24.99, 118], [“jeans”, 29.99, 612]

Archivos CSV y el módulo CSV en Python

Los archivos CSV representan datos tabulares en un formato de archivo simple. Cada línea del archivo corresponde a una fila de la tabla. Cada valor en la fila (o línea) está separado por una coma; es por eso que el formato se llama 'Valores separados por comas'.

Así es como se vería un archivo que representa productos, precios y ventas en formato CSV:

  • camisetas, 9.99, 342

  • sudaderas con capucha, 24.99, 118

  • vaqueros, 29,99, 612

Cómo escribir una lista en CSV en Python

El módulo csv es un módulo Python integrado que proporciona herramientas para leer y escribir datos en formato CSV. Es especialmente útil por su sencillez y eficacia.

Al importar el módulo csv , obtiene acceso a la clase csv.writer() , que le permite crear un objeto de escritura que puede escribir una cadena delimitada en un objeto de archivo.

Muy bien, ahora que hemos repasado los conceptos básicos, echemos un vistazo a cómo puede escribir una lista simple en CSV usando Python en la siguiente sección.

Cómo escribir una lista simple en CSV en Python

La primera técnica que debe aprender es para un archivo de lista simple (no anidado) que se ve así:

  • camisetas

  • sudaderas con capucha

  • vaqueros

Cómo escribir una lista en CSV en Python

Los pasos generales para escribir la lista en un archivo CSV son:

  1. Importe el módulo csv .

  2. Crea una lista de Python.

  3. Abra un archivo CSV en modo de escritura.

  4. Use la función writerow() del objeto escritor csv .

  5. Guarde y cierre el archivo CSV.

La función writerow() escribirá varias filas, es decir, todos los datos en el archivo. Aquí está el código con comentarios detallados.

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list
my_list = ["t-shirts", "hoodies", "jeans"]

# Step 3: Opening a CSV file in write mode

with open('products.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerow(my_list) # Use writerow for single list

# Step 5: The file is automatically closed when exiting the 'with' block

Uso de administradores de contexto

Si no está familiarizado con el método "con" para trabajar con archivos, esta es una técnica que utiliza un administrador de contexto que administra los recursos del archivo.

Por ejemplo, cuando lo usa para escribir archivos CSV, los archivos se cierran automáticamente cuando finaliza la instrucción with.

Cómo escribir una lista de listas en CSV

Con una lista de listas, cada lista interna debe ser una fila CSV en el archivo. Así es como se verán los datos CSV:

Cómo escribir una lista en CSV en Python

Los pasos generales son similares a los de la sección anterior, excepto que usa la función writerows() en lugar de writerow() .

# Step 1: Importing the CSV module
import csv

# Step 2: Creating a Python list of lists
my_list = [["t-shirts", 9.99, 342], ["hoodies", 24.99, 118], ["jeans", 29.99, 612]]

# Step 3: Opening a CSV file in write mode
with open('product_sales.csv', 'w', newline='') as file:
    # Step 4: Using csv.writer to write the list to the CSV file
    writer = csv.writer(file)
    writer.writerows(my_list) # Use writerows for nested list

# Step 5: The file is automatically closed when exiting the 'with' bloc

En este segundo ejemplo, cada lista interna se escribe como una fila separada en el archivo.

Tenga en cuenta que el módulo csv le permite evitar tener que enumerar o recorrer la estructura de datos y escribirla fila por fila.

A continuación, veremos cómo puede agregar datos a archivos CSV existentes.

Cómo agregar datos a archivos CSV existentes

Cómo escribir una lista en CSV en Python

Para agregar datos a un archivo CSV existente, siga estos pasos:

  1. Importe el módulo csv .

  2. Abra el archivo CSV en modo de adición ('a') usando el administrador de contexto with open() .

  3. Cree una nueva lista que contenga los datos que se agregarán.

  4. Cree un objeto csv.writer() pasando el archivo abierto.

  5. Utilice el objeto csv.writer() para escribir la nueva lista en el archivo CSV.

Aquí hay un ejemplo que escribe agrega una lista anidada (una fila) a un archivo existente:

import csv

new_row = [["leggings", 22.99, 483]]

with open('product_sales.csv', 'a', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(new_row)

Asegúrese de incluir newline=” al abrir el archivo para garantizar el formato adecuado del archivo CSV en diferentes plataformas.

En la siguiente sección, cubriremos cómo puede usar la clase DictWriter para escribir en archivos CSV.

Cómo usar DictWriter para escribir en archivos CSV

Cómo escribir una lista en CSV en Python

Hasta ahora, hemos aprendido a escribir listas en archivos CSV. Sin embargo, Python tiene otras estructuras de datos como diccionarios que también se pueden escribir en un archivo CSV.

La clase DictWriter() también forma parte del módulo csv . Es similar a la clase escritor() pero maneja datos de diccionario.

Aquí hay un ejemplo:

import csv

product_sales_dict = [
    {"product": "t-shirts", "price": 9.99, "sales": 342},
    {"product": "hoodies", "price": 24.99, "sales": 118},
    {"product": "jeans", "price": 29.99, "sales": 612}
]

fieldnames = ["product", "price", "sales"]

with open("dictionary.csv", "w", newline="") as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(product_sales_dict)

Técnicas avanzadas de CSV en Python

Usar el módulo csv no es el único método para exportar listas de Python como archivos CSV.

Dos bibliotecas populares que brindan funcionalidad para esta tarea son Pandas y NumPy .

1. Cómo exportar datos con pandas

Cómo escribir una lista en CSV en Python

Pandas es una biblioteca de Python ampliamente utilizada para la manipulación y el análisis de datos.

Para guardar las listas de Python como un archivo CSV, puede crear un marco de datos de pandas a partir de la lista y luego usar el método to_csv() , como se muestra a continuación:

import pandas as pd
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Create a DataFrame from the list
data_frame = pd.DataFrame(data, columns=['Name', 'Value', 'Quantity'])
# Save DataFrame to CSV file
data_frame.to_csv('output.csv', index=False, encoding='utf-8')

Si sus datos incluyen caracteres que no son ASCII, es posible que deba establecer el parámetro de codificación en un valor adecuado, como 'utf-8'.

2. Cómo usar NumPy para guardar listas en CSV

Otra biblioteca que vale la pena considerar es NumPy , que brinda soporte para trabajar con arreglos y matrices.

NumPy ofrece la función np.savetxt() como un método conveniente para guardar datos en un archivo CSV.

Aquí hay un ejemplo que muestra cómo guardar una lista en un archivo CSV usando NumPy:

import numpy as np
# Example list of lists
data = [['ABC', 1.2, 30], ['XYZ', 0.8, 20], ['LMN', 2.3, 50]]
# Save the list to a CSV file
np.savetxt('output.csv', data, delimiter=',', fmt='%s', header='Name,Value,Quantity', comments='')

Aquí hay un desglose de los parámetros savetxt() :

  • delimitador: especifica el separador de campo

  • Parámetro fmt: indica el formato de los datos que se están guardando

  • %s: el marcador de posición para valores de cadena

  • header : una lista de encabezados de columna

  • comentarios: controle los caracteres que comienzan los comentarios en el archivo de salida.

Cómo limpiar datos antes de escribir en un archivo

Es una buena idea limpiar sus datos antes de escribirlos en archivos de texto. Este video te dará las técnicas que necesitas:

Pensamientos finales

Escribir una lista en un archivo CSV en Python es una forma simple y efectiva de almacenar y compartir datos. Ha aprendido a utilizar el módulo csv integrado de Python para realizar esta tarea.

Ahora está familiarizado con la creación de una lista de Python, la importación del módulo csv , la apertura de un archivo CSV y el uso de csv.writer para escribir la lista en el archivo CSV.

También aprendió los escenarios más complejos de escribir una lista de listas en un archivo CSV, lo que le permite almacenar datos tabulares.

No olvides que, como todo en la programación, la práctica hace al maestro. Entonces, tome este nuevo conocimiento, juegue con él y vea cómo funciona con diferentes conjuntos de datos y necesidades del proyecto.

Esta es solo la punta del iceberg de Python. Hay mucho más por explorar en el vasto mundo de Python, así que no se detenga aquí. Pero por hoy, date una palmadita en la espalda. ¡Ha domesticado con éxito la bestia de la conversión de lista a CSV!


Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Qué es uno mismo en Python: ejemplos del mundo real

Cómo guardar y cargar un archivo RDS en R

Cómo guardar y cargar un archivo RDS en R

Aprenderá a guardar y cargar objetos desde un archivo .rds en R. Este blog también cubrirá cómo importar objetos desde R a LuckyTemplates.

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

Revisión de los primeros N días hábiles: una solución de lenguaje de codificación DAX

En este tutorial del lenguaje de codificación DAX, aprenda a usar la función GENERAR y a cambiar dinámicamente el título de una medida.

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Showcase Insights utilizando la técnica de elementos visuales dinámicos de subprocesos múltiples en LuckyTemplates

Este tutorial cubrirá cómo usar la técnica de elementos visuales dinámicos de subprocesos múltiples para crear información a partir de visualizaciones de datos dinámicos en sus informes.

Introducción al contexto de filtro en LuckyTemplates

Introducción al contexto de filtro en LuckyTemplates

En este artículo, repasaré el contexto del filtro. El contexto del filtro es uno de los temas principales que cualquier usuario de LuckyTemplates debería conocer inicialmente.

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Los mejores consejos para usar las aplicaciones en el servicio en línea de LuckyTemplates

Quiero mostrar cómo el servicio en línea de LuckyTemplates Apps puede ayudar a administrar diferentes informes e información generada a partir de varias fuentes.

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Analice los cambios en el margen de beneficio a lo largo del tiempo: análisis con LuckyTemplates y DAX

Aprenda a calcular los cambios de su margen de beneficio utilizando técnicas como la bifurcación de medidas y la combinación de fórmulas DAX en LuckyTemplates.

Ideas de materialización para cachés de datos en DAX Studio

Ideas de materialización para cachés de datos en DAX Studio

Este tutorial analizará las ideas de materialización de cachés de datos y cómo afectan el rendimiento de DAX al proporcionar resultados.

Informes comerciales con LuckyTemplates

Informes comerciales con LuckyTemplates

Si todavía usa Excel hasta ahora, este es el mejor momento para comenzar a usar LuckyTemplates para sus necesidades de informes comerciales.

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber

¿Qué es la puerta de enlace de LuckyTemplates? Todo lo que necesitas saber