Si tienes una tienda online, el email marketing es crucial para mantenerme conectado con los clientes y aumentar las ventas. Si utilizas PrestaShop como plataforma de comercio electrónico y Mailchimp para gestionar tus newsletters, te habrás dado cuenta de que mantener sincronizadas lista CSV PrestaShop de suscriptores entre las dos plataformas ha sido una tarea sorprendentemente complicada.
El Desafío: PrestaShop, Mailchimp y el Módulo Perdido
Idealmente, los clientes que se suscriben a mi newsletter en PrestaShop deberían pasar automáticamente a Mailchimp. Desafortunadamente, no hay una integración incorporada y no quería invertir en un módulo separado de PrestaShop para lograrlo. La exportación e importación manual de listas de contactos se convirtió en mi única opción, pero estaba lejos de ser perfecta.
La exportación de boletines de PrestaShop produce un archivo CSV simple con campos como estos:
id;nombre_tienda;género;apellido;nombre;email;suscrito;fecha_suscripción;idioma_iso
La información de cada suscriptor se acumula en una sola celda, así:
1;Canarias Agusto;Sr;Sajnani;Kunal;email@email.com;1;2024-03-24 19:13:29;es
ingenuamente, pensé que importar este CSV a Mailchimp sería pan comido. Por desgracia, Mailchimp no pudo reconocer los campos individuales, lo que significa que no se agregaron nuevos suscriptores. Peor aún, mi gran lista de contactos se había llenado de correos electrónicos spam después de implementar medidas anti-bots en mi sitio.
Limpieza de Datos: Una Tarea Tediosa
Limpiar más de 10,000 filas de datos con un formato incómodo era desalentador. Las limitaciones de los archivos CSV hacían que fuera imposible ordenar, filtrar o modificar entradas fácilmente. Era hora de pensar de manera diferente.
Una Solución en Python: Transformación CSV
Recordé mis experiencias pasadas con Python. Si bien no soy un experto en programación, sé lo suficiente para salir del apuro. Mi objetivo era simple: convertir ese CSV desordenado en un archivo Excel limpio y estructurado donde pudiera manipular los datos según fuera necesario. Aquí está el script de Python que me salvó el día:
Importar Panda
Pandas es una biblioteca de Python para el análisis y manipulación de datos. ¡Tus hojas de cálculo, pero potentes! Si tienes Python instalado y las referencias correctas, abre una ventana cmd y ejecutar:
pip install pandas
Ahora podrás importar pandas en tu IDE de python.
Si tienes problemas con PIP, lee en este artículo como arreglar la integración de PIP y Windows CMD.
Código Python
import pandas as pd
import os
# Carga el archivo CSV (ajusta la ruta según sea necesario)
df = pd.read_csv('C:\\Users\\max\\Desktop\\Test\\test.csv', sep=';', names=['id', 'nombre_tienda', 'género', 'apellido', 'nombre', 'email', 'suscrito', 'fecha_suscripción', 'idioma_iso'])
# Escribe los datos en un archivo Excel
archivo_salida = 'salida.xlsx'
df.to_excel(archivo_salida, index=False)
# Imprime mensajes útiles
print(f"Datos escritos exitosamente en {archivo_salida}")
directorio_actual = os.getcwd()
ruta_archivo_salida = os.path.join(directorio_actual, archivo_salida)
print("Archivo Excel de salida guardado en:", ruta_archivo_salida)
En el código de arriba – \max\\Desktop\\Test\\test.csv
- max: nombre de tu usuario
- Desktop: el escritorio
- Test: la carpeta en el escritorio
- test.csv: el archivo.
Puedes reemplazarlo como veas.
¿Cómo funciona?
Analicemos qué hace este código:
- Importar Librerías: Usamos
pandas
(una poderosa herramienta de análisis de datos) yos
(para obtener rutas de archivos). - Cargar el CSV Desordenado:
pd.read_csv
lee el archivo, usando el punto y coma (;
) como separador y asignando nombres a las columnas. - Magia de Excel:
df.to_excel
hace el trabajo pesado: transforma los datos en un archivo Excel adecuado. - Mensajes de Éxito: El script imprime la confirmación y la ubicación de tu nuevo archivo Excel.
El Resultado: ¡Datos Con Los Que Puedo Trabajar!
Ahora tengo un archivo Excel adecuado con columnas para ID, nombre, correo electrónico, etc. La ordenación, el filtrado, la eliminación de entradas de spam y la preparación de los datos para Mailchimp se volvieron mucho más fáciles.
Más Allá de lo Básico
Este script es un salvavidas, pero podría ser aún mejor. En el futuro, me gustaría explorar la posibilidad de agregar funciones para filtrar directamente correos electrónicos con apariencia de spam y potencialmente automatizar todo el proceso para que se ejecute en un horario programado.
¡Cuéntame en los comentarios si te has enfrentado a obstáculos similares o has encontrado formas inteligentes de agilizar los flujos de trabajo de datos!