Python
Tutorial Python: Módulo csv
Python CSV: manipulación de archivos. Domina la manipulación de archivos CSV en Python con ejemplos prácticos y detallados.
El módulo csv
de Python es una parte integral de la biblioteca estándar que proporciona funcionalidades para leer y escribir datos en formato CSV (valores separados por coma). Este módulo incluye tanto funciones para leer y escribir datos, como clases que permiten una mayor personalización en la manipulación de archivos CSV.
Antes de entrar en los detalles, es importante aclarar que, aunque el nombre CSV significa 'valores separados por coma', el módulo csv
puede trabajar con cualquier delimitador. Por ejemplo, también se puede usar para leer y escribir archivos TSV (valores separados por tabulación).
Lectura de archivos CSV
El primer paso para trabajar con un archivo CSV en Python es abrir el archivo. Esto se puede hacer con la función incorporada open()
, utilizando el modo de lectura('r'
). Una vez abierto el archivo, se puede utilizar el lector de CSV que se proporciona en el módulo csv
.
import csv
with open('archivo.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row)
Cada fila se devuelve como una lista de cadenas. Cada elemento de la lista corresponde a una celda en la fila del archivo CSV.
Escritura en archivos CSV
Al igual que con la lectura de archivos CSV, primero debe abrirse el archivo. En este caso, sin embargo, se abre el archivo en modo de escritura ('w'
). Luego, podrá usarse el escritor de CSV para escribir en el archivo.
import csv
data = [['Nombre', 'Edad'], ['Juan', 25], ['Ana', 27], ['Pedro', 23]]
with open('archivo.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
Aquí, writerows()
es una función que toma una lista de listas y escribe cada lista como una fila en el archivo CSV. Si se quiere escribir una sola fila, se puede utilizar la función writerow()
.
Uso de DictReader y DictWriter
Además de los lectores y escritores básicos, el módulo csv
también proporciona el DictReader
y DictWriter
, que permiten leer y escribir archivos CSV con un diccionario, lo cual puede ser muy útil cuando las columnas del archivo CSV tienen nombres.
import csv
with open('archivo.csv', 'r') as file:
reader = csv.DictReader(file)
for row in reader:
print(row)
En este caso, cada fila se devuelve como un diccionario ordenado (OrderedDict
). Las claves del diccionario son los nombres de las columnas y los valores son los valores de las celdas correspondientes.
La escritura con DictWriter
es similar:
import csv
data = [{'Nombre': 'Juan', 'Edad': 25}, {'Nombre': 'Ana', 'Edad': 27}, {'Nombre': 'Pedro', 'Edad': 23}]
fieldnames = ['Nombre', 'Edad']
with open('archivo.csv', 'w', newline='') as file:
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader()
writer.writerows(data)
Aquí, writeheader()
es una función que escribe las claves del diccionario como la primera fila del archivo CSV (la fila del encabezado). Luego, writerows()
escribe cada diccionario como una fila en el archivo CSV.
Delimitadores y citas personalizadas
Por defecto, el módulo csv
utiliza una coma como delimitador y comillas dobles para citar campos que contienen caracteres especiales (como comas). Sin embargo, se puede personalizar el delimitador y el carácter de citación.
Por ejemplo, para leer un archivo CSV que utiliza un punto y coma como delimitador y comillas simples para citar campos, se podría hacer lo siguiente:
import csv
with open('archivo.csv', 'r') as file:
reader = csv.reader(file, delimiter=';', quotechar="'")
for row in reader:
print(row)
Esto también se puede hacer al escribir archivos CSV:
import csv
data = [['Nombre', 'Edad'], ['Juan', 25], ['Ana', 27], ['Pedro', 23]]
with open('archivo.csv', 'w', newline='') as file:
writer = csv.writer(file, delimiter=';', quotechar="'")
writer.writerows(data)
Estos son solo algunos de los aspectos básicos del módulo csv
de Python. Proporciona muchas más funcionalidades, como diferentes formatos de citas, manipulación de espacios en blanco, etc., que pueden ser útiles en diferentes contextos.
Ejercicios de esta lección Módulo csv
Evalúa tus conocimientos de esta lección Módulo csv con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Polimorfismo
Clases y objetos
Listas
Crear módulos y paquetes
Estructuras de control
Diccionarios
Módulo math
Importar módulos y paquetes
Operadores
OOP en python
Estructuras de control
Instalación de Python y creación de proyecto
Listas
Estructuras de control
Encapsulación
Gestor de tareas con operaciones CRUD en Python
Clases y objetos
Crear módulos y paquetes
Encapsulación
Tipos de datos
Herencia de clases
Tuplas
Herencia
Módulo datetime
Excepciones
Operadores
Funciones lambda
Clases y objetos
Diccionarios
Módulo os
Listas
Conjuntos
Funciones lambda
Tuplas
Módulo json
Operadores
Variables
Tipos de datos
Diccionarios en Python
Conjuntos
Módulo math
Excepciones
Módulo csv
Importar módulos y paquetes
Funciones Python
Módulo json
Tipos de datos
Módulo datetime
Herencia
Funciones
Funciones Python
Variables
Módulo csv
Introducción a Python
Polimorfismo
Módulo os
Todas las lecciones de Python
Accede a todas las lecciones de Python y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Python
Introducción Y Entorno
Instalación De Python Y Creación De Proyecto
Introducción Y Entorno
Tipos De Datos
Sintaxis
Variables
Sintaxis
Operadores
Sintaxis
Estructuras De Control
Sintaxis
Funciones
Sintaxis
Funciones Lambda
Programación Funcional
Clases Y Objetos
Programación Orientada A Objetos
Excepciones
Programación Orientada A Objetos
Encapsulación
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Listas
Estructuras De Datos
Tuplas
Estructuras De Datos
Diccionarios
Estructuras De Datos
Conjuntos
Estructuras De Datos
Módulo Csv
Biblioteca Estándar
Módulo Json
Biblioteca Estándar
Módulo Datetime
Biblioteca Estándar
Módulo Math
Biblioteca Estándar
Módulo Os
Biblioteca Estándar
Importar Módulos Y Paquetes
Módulos Y Paquetes
Crear Módulos Y Paquetes
Módulos Y Paquetes
Certificados de superación de Python
Supera todos los ejercicios de programación del curso de Python y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender qué es el formato CSV y su utilidad para almacenar y compartir datos tabulares.
- Aprender a utilizar el módulo
csv
de Python para leer y escribir archivos CSV. - Conocer los diferentes métodos proporcionados por el módulo
csv
, comoreader()
,writer()
,DictReader()
yDictWriter()
. - Entender cómo personalizar delimitadores y citas en archivos CSV utilizando los parámetros
delimiter
yquotechar
. - Familiarizarse con la lectura de archivos CSV en forma de listas y diccionarios, y la escritura de datos desde listas y diccionarios a archivos CSV.