# ============================================================
# DESAFÍO - ANÁLISIS DE SENTIMIENTOS CON GEMINI
# ============================================================
# Instalar librerías
!pip install -q -U google-genai pandas
# ============================================================
# IMPORTAR LIBRERÍAS
# ============================================================
import os
import pandas as pd
from google import genai
from google.colab import userdata
# ============================================================
# CONFIGURAR GEMINI
# ============================================================
api_key = userdata.get("GEMINI_API_KEY")
os.environ["GEMINI_API_KEY"] = api_key
client = genai.Client(
api_key=os.environ["GEMINI_API_KEY"]
)
print("Gemini configurado correctamente.")
# ============================================================
# CARGAR EL ARCHIVO CSV
# ============================================================
# Subir el archivo desde el computador
from google.colab import files
uploaded = files.upload()
nombre_archivo = list(uploaded.keys())[0]
# Leer el CSV
df = pd.read_csv(reviews)
print("\nPrimeras filas del archivo:")
print(df.head())
# ============================================================
# IDENTIFICAR LA COLUMNA DE COMENTARIOS
# ============================================================
print("\nColumnas disponibles:")
print(df.columns)
# Cambiar este nombre si tu columna tiene otro nombre
columna_comentarios = "comentario"
# ============================================================
# FUNCIÓN PARA CLASIFICAR EL SENTIMIENTO
# ============================================================
def analizar_sentimiento(comentario):
prompt = f"""
Analiza el siguiente comentario.
Responde únicamente con una de estas palabras:
Positivo
Negativo
Neutro
Comentario:
{comentario}
"""
respuesta = client.models.generate_content(
model="gemini-2.5-flash",
contents=prompt
)
return respuesta.text.strip()
# ============================================================
# ANALIZAR CADA COMENTARIO
# ============================================================
sentimientos = []
for comentario in df[columna_comentarios]:
sentimiento = analizar_sentimiento(comentario)
sentimientos.append(sentimiento)
# ============================================================
# AGREGAR LA NUEVA COLUMNA
# ============================================================
df["sentimiento"] = sentimientos
print("\nResultado:")
print(df.head())
# ============================================================
# GUARDAR EL NUEVO CSV
# ============================================================
nombre_salida = "comentarios_clasificados.csv"
df.to_csv(
nombre_salida,
index=False,
encoding="utf-8"
)
print(f"\nArchivo generado: {nombre_salida}")
# ============================================================
# MOSTRAR CANTIDAD DE CADA SENTIMIENTO
# ============================================================
print("\nResumen de sentimientos:")
print(df["sentimiento"].value_counts())
Conclusion
En este desafío aprendí a cargar un archivo CSV con Pandas, recorrer los comentarios de los clientes y utilizar un modelo de lenguaje (Gemini) para clasificar automáticamente el sentimiento de cada uno como positivo, negativo o neutro. Posteriormente, agregué esta clasificación como una nueva columna en el DataFrame y guardé el resultado en un nuevo archivo CSV, automatizando el análisis de opiniones de los clientes.