Un archivo CSV (Comma-Separated Values) es un formato de archivo simple que se utiliza para almacenar datos tabulares, como hojas de cálculo o bases de datos, donde cada línea representa un registro y cada valor está separado por comas. Python proporciona una biblioteca nativa llamada csv
que facilita la lectura y escritura de archivos CSV.
Antes de empezar a trabajar con archivos CSV, es necesario importar la biblioteca csv
:
import csv
Para crear y escribir en un archivo CSV en Python, se usa la función csv.writer()
. Puedes escribir filas individualmente o a través de una lista de filas.
import csv
# Datos para escribir en el archivo CSV
datos = [
['Nombre', 'Edad', 'Ciudad'],
['Carlos', 22, 'Madrid'],
['Ana', 30, 'Barcelona'],
['Luis', 25, 'Valencia']
]
# Creando y escribiendo en el archivo CSV
with open('personas.csv', mode='w', newline='') as archivo_csv:
escritor_csv = csv.writer(archivo_csv)
escritor_csv.writerows(datos)
print("Archivo CSV creado con éxito.")
En este ejemplo, el archivo personas.csv
se crea en el mismo directorio que el script de Python, y contiene los datos tabulares especificados en la lista datos
.
Por defecto, los valores están separados por comas, pero puedes cambiar el delimitador a otro símbolo, como un punto y coma.
with open('personas.csv', mode='w', newline='') as archivo_csv:
escritor_csv = csv.writer(archivo_csv, delimiter=';')
escritor_csv.writerows(datos)
Otra forma útil de escribir en un archivo CSV es utilizando diccionarios. Cada fila será un diccionario donde las claves serán los nombres de las columnas.
DictWriter
import csv
# Datos para escribir en el archivo CSV
datos = [
{'Nombre': 'Carlos', 'Edad': 22, 'Ciudad': 'Madrid'},
{'Nombre': 'Ana', 'Edad': 30, 'Ciudad': 'Barcelona'},
{'Nombre': 'Luis', 'Edad': 25, 'Ciudad': 'Valencia'}
]
# Creando y escribiendo en el archivo CSV
with open('personas_dict.csv', mode='w', newline='') as archivo_csv:
campos = ['Nombre', 'Edad', 'Ciudad']
escritor_csv = csv.DictWriter(archivo_csv, fieldnames=campos)
escritor_csv.writeheader() # Escribir los nombres de las columnas
escritor_csv.writerows(datos)
print("Archivo CSV con diccionarios creado con éxito.")
Este ejemplo crea un archivo CSV a partir de una lista de diccionarios y escribe un encabezado con los nombres de las columnas.
Para más información sobre cómo manejar archivos CSV en Python, puedes visitar la documentación oficial de Python.
Jorge García
Fullstack developer