Una guía práctica para trabajar con datos tabulares
El formato CSV (Comma Separated Values) es ampliamente utilizado para almacenar y transferir datos tabulares de una manera sencilla y legible. Python, con su amplia biblioteca de herramientas, facilita el manejo de archivos .CSV de manera eficiente. En este artículo, exploraremos cómo trabajar con archivos .CSV en Python y cómo realizar diversas operaciones para procesar datos tabulares.
Lectura de archivos .CSV:
Para leer un archivo .CSV en Python, podemos utilizar el módulo csv
. Supongamos que tenemos un archivo llamado "datos.csv" con la siguiente estructura:
nombre,edad,ciudad
Juan,25,Madrid
María,30,Barcelona
Carlos,28,Valencia
El siguiente código muestra cómo leer este archivo y obtener los datos en una lista de diccionarios:
import csv
datos = []
with open('datos.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
datos.append(row)
Escritura de archivos .CSV:
Si queremos escribir datos en un archivo .CSV, podemos usar el módulo csv
en modo escritura. Supongamos que tenemos una lista de diccionarios llamada nuevos_datos
:
nuevos_datos = [
{'nombre': 'Laura', 'edad': '27', 'ciudad': 'Sevilla'},
{'nombre': 'Pedro', 'edad': '32', 'ciudad': 'Málaga'}
]
with open('nuevos_datos.csv', 'w', newline='') as csvfile:
fieldnames = ['nombre', 'edad', 'ciudad']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for row in nuevos_datos:
writer.writerow(row)
Manipulación de datos en archivos .CSV:
Podemos realizar diversas operaciones para manipular los datos en archivos .CSV. Por ejemplo, supongamos que queremos obtener una lista de todas las ciudades presentes en el archivo "datos.csv":
ciudades = []
with open('datos.csv', newline='') as csvfile:
reader = csv.DictReader(csvfile)
for row in reader:
ciudades.append(row['ciudad'])
Filtrado de datos en archivos .CSV:
Si deseamos filtrar los datos en función de ciertos criterios, podemos utilizar list comprehensions o el módulo pandas
, una poderosa herramienta de análisis de datos en Python. Supongamos que queremos obtener una lista de personas mayores de 25 años en el archivo "datos.csv":
personas_mayores_25 = [row for row in datos if int(row['edad']) > 25]
Cálculo de estadísticas en archivos .CSV:
Para calcular estadísticas en archivos .CSV, como el promedio de edades, podemos usar el módulo pandas
:
import pandas as pd
df = pd.read_csv('datos.csv')
promedio_edades = df['edad'].mean()
Combinación de archivos .CSV:
Si tenemos múltiples archivos .CSV y queremos combinarlos en uno solo, podemos usar el módulo pandas
:
import pandas as pd
archivos = ['datos1.csv', 'datos2.csv', 'datos3.csv']
dfs = [pd.read_csv(archivo) for archivo in archivos]
datos_combinados = pd.concat(dfs, ignore_index=True)
datos_combinados.to_csv('datos_combinados.csv', index=False)
El manejo de archivos .CSV en Python es una habilidad esencial para cualquier desarrollador o analista de datos. Con el módulo csv
y la biblioteca pandas
, podemos leer, escribir, procesar y analizar datos tabulares de manera eficiente y efectiva. Ya sea que estemos trabajando con datos de una hoja de cálculo o de una base de datos, Python nos ofrece las herramientas necesarias para manejar archivos .CSV de manera sencilla y práctica. Así que ¡adelante y comienza a trabajar con archivos .CSV en Python para aprovechar todo su potencial en el análisis de datos y la manipulación de información!