Combina fácilmente online dos archivos CSV en uno
Funcionamiento:
Este programa combina dos archivos ".csv" cuyos campos deben estar separados por un "punto y coma".
Selecciona el archivo primario y el archivo secundario y luego haz clic en el botón "Combinar".
Tanto el archivo primario como el archivo secundario deben tener una columna que se llame "codigocomun".
Las líneas del archivo secundario que coincidan con la columna "codigocomun" en el archivo primario serán agregadas al archivo primario en un nuevo archivo CSV que después de descargarlo será borrado del servidor.
Combina fácilmente dos archivos CSV en uno usando Python
En este artículo, exploraremos cómo utilizar un programa Python para combinar de manera sencilla dos archivos CSV separados por punto y coma. Este programa es ideal cuando necesitamos fusionar datos de dos archivos diferentes basados en una columna común. Utilizaremos la potente biblioteca pandas de Python para manipular los archivos CSV y generar un nuevo archivo combinado.
El programa que vamos a desarrollar nos permitirá combinar dos archivos CSV: uno principal y otro secundario. Ambos archivos deben tener una columna llamada «codigocomun» que actuará como clave de combinación. El objetivo es agregar las líneas del archivo secundario al archivo principal, manteniendo solo las líneas que tengan un valor coincidente en la columna «codigocomun«.
Para empezar, necesitaremos tener instalado Python en nuestro sistema. También necesitaremos la biblioteca pandas, que podemos instalar fácilmente utilizando el gestor de paquetes pip.
pip install pandas
Una vez que tengamos todo configurado, podemos proceder a ejecutar el programa. Al iniciarlo, se abrirá una interfaz gráfica donde podremos seleccionar los archivos CSV correspondientes. Primero, elegiremos el archivo principal y luego el archivo secundario.

Una vez seleccionados los archivos, el programa utilizará la biblioteca pandas para cargarlos en DataFrames, una estructura de datos tabular muy versátil. A continuación, se realizará la combinación de los DataFrames utilizando la columna «codigocomun» como clave. Esto asegurará que solo se agreguen las líneas del archivo secundario que coincidan con el archivo principal.
Una vez combinados los DataFrames, el programa generará un nuevo archivo CSV que contendrá todas las líneas del archivo principal y las líneas del archivo secundario que tengan un valor correspondiente en la columna «codigocomun«. Podremos elegir la ubicación y el nombre del archivo combinado antes de guardarlo.
Conclusión:
Con este programa Python y la biblioteca pandas, hemos simplificado el proceso de combinación de archivos CSV. Ahora podemos fusionar datos de manera rápida y eficiente, ahorrando tiempo y esfuerzo en comparación con métodos manuales o como excel. La interfaz gráfica proporciona una experiencia fácil de usar, lo que lo convierte en una herramienta accesible para usuarios de todos los niveles de habilidad.
Python y pandas nos brindan un poderoso conjunto de herramientas para trabajar con datos, y este programa es solo un ejemplo de lo que se puede lograr. Experimenta y adapta este código según tus necesidades específicas.
¡Espero que encuentres útil esta herramienta de combinación de archivos CSV!
import tkinter as tk
from tkinter import filedialog, messagebox
import pandas as pd
def combinar_archivos():
# Obtener la ruta de los archivos primario y secundario seleccionados
ruta_primario = filedialog.askopenfilename(
title="Seleccionar archivo primario", filetypes=[("Archivos CSV", "*.csv")])
ruta_secundario = filedialog.askopenfilename(
title="Seleccionar archivo secundario", filetypes=[("Archivos CSV", "*.csv")])
if ruta_primario and ruta_secundario:
try:
# Cargar archivos CSV en DataFrames
df_primario = pd.read_csv(ruta_primario, sep=';')
df_secundario = pd.read_csv(ruta_secundario, sep=';')
# Combinar los DataFrames basados en la columna "codigocomun"
df_resultado = pd.merge(
df_primario, df_secundario, on='codigocomun', how='left')
# Guardar el DataFrame combinado en un nuevo archivo CSV
ruta_salida = filedialog.asksaveasfilename(
title="Guardar archivo combinado", defaultextension=".csv", filetypes=[("Archivos CSV", "*.csv")])
if ruta_salida:
df_resultado.to_csv(ruta_salida, sep=';', index=False)
messagebox.showinfo(
"Completado", "El archivo combinado ha sido creado exitosamente.")
else:
messagebox.showwarning(
"Advertencia", "No se seleccionó una ubicación de archivo válida.")
except Exception as e:
messagebox.showerror("Error", str(e))
else:
messagebox.showwarning(
"Advertencia", "No se seleccionaron archivos válidos.")
# Crear la ventana principal
ventana = tk.Tk()
ventana.title("Combinador de archivos CSV")
ventana.geometry("400x200")
# Descripción del programa
lbl_descripcion = tk.Label(ventana, text="Este programa combina dos archivos CSV separados por punto y coma.\n"
"Selecciona el archivo primario y el archivo secundario y luego haz clic en el botón 'Combinar'.\n"
"Las líneas del archivo secundario que coincidan con la columna 'codigocomun' en el archivo primario\n"
"serán agregadas al archivo primario en un nuevo archivo CSV.")
lbl_descripcion.pack()
# Etiqueta y botón para seleccionar el archivo primario
lbl_primario = tk.Label(ventana, text="Archivo primario:")
lbl_primario.pack()
btn_primario = tk.Button(
ventana, text="Seleccionar archivo", command=combinar_archivos)
btn_primario.pack()
# Etiqueta y botón para seleccionar el archivo secundario
lbl_secundario = tk.Label(ventana, text="Archivo secundario:")
lbl_secundario.pack()
btn_secundario = tk.Button(
ventana, text="Seleccionar archivo", command=combinar_archivos)
btn_secundario.pack()
ventana.mainloop()