Cómo fusionar archivos CSV en Python sin utilizar Pandas – Resuelto

Introducción

En este artículo, aprenderemos cómo fusionar archivos CSV en Python sin utilizar la biblioteca Pandas. A veces, Pandas puede ser demasiado pesado para tareas simples de manipulación de datos, por lo que es útil saber cómo realizar esta tarea de manera más ligera y sencilla.

Preparación de los archivos CSV

Antes de fusionar los archivos CSV, asegúrate de que ambos archivos tengan una columna en común que se pueda utilizar como clave para la fusión. En este ejemplo, utilizaremos un archivo llamado «file1.csv» con la siguiente estructura:

id, nombre, edad

1, Juan, 25

2, María, 30

3, Pedro, 28

Y un archivo llamado «file2.csv» con la siguiente estructura:

id, ciudad

1, Madrid

2, Barcelona

3, Valencia

Fusionando los archivos CSV en Python

Para fusionar los archivos CSV en Python sin utilizar Pandas, podemos hacerlo utilizando la biblioteca csv de Python. Aquí tienes un ejemplo de cómo hacerlo:

import csv

# Abrir los archivos CSV

with open('file1.csv', 'r') as file1, open('file2.csv', 'r') as file2:

csv_reader1 = csv.DictReader(file1)

csv_reader2 = csv.DictReader(file2)

# Crear un diccionario con los datos de file2.csv

data = {row['id']: row['ciudad'] for row in csv_reader2}

# Fusionar los archivos y escribir el resultado en un nuevo archivo

with open('merged_file.csv', 'w') as merged_file:

csv_writer = csv.writer(merged_file)

csv_writer.writerow(['id', 'nombre', 'edad', 'ciudad'])

for row in csv_reader1:

ciudad = data.get(row['id'], 'Ciudad no encontrada')

csv_writer.writerow([row['id'], row['nombre'], row['edad'], ciudad])

En este código, abrimos los archivos CSV, creamos un diccionario con los datos del segundo archivo y luego fusionamos los datos de ambos archivos en un nuevo archivo llamado «merged_file.csv».

¡Y listo! Ahora tienes una forma sencilla de fusionar archivos CSV en Python sin necesidad de utilizar la biblioteca Pandas. ¡Espero que este artículo te haya sido útil!