2
respostas

[Projeto] Desafio Pandas

Olá,
agradeço seus comentário sobre a resolução do desafio.

Desafio:
Criar um arquivo .txt a partir de uma lista de perguntas vindas de uma lista em Python.
Ler as perguntas deste arquivo .txt e salvá-lo em uma lista Python.
Obter uma resposta de uma LLM para cada pergunta.
Salvar as respostas em uma nova lista .CSV.
Ler o arquivo .CSV usando Pandas.

1- Criação de um arquivo .txt de uma lista de perguntas.

perguntas = [
"Qual é a capital da França?",
"Quanto é 2 + 2?",
"De que cor é o céu em um dia claro?",
"Quantos dias tem uma semana?",
"Qual é o contrário de quente?",
"Qual animal é conhecido como o melhor amigo do homem?",
"Em que planeta nós vivemos?",
"O que as abelhas produzem?",
"Qual é o primeiro mês do ano?",
"Do que as plantas precisam para realizar a fotossíntese?"
]
['Qual é a capital da França?',
'Quanto é 2 + 2?',
'De que cor é o céu em um dia claro?',
'Quantos dias tem uma semana?',
'Qual é o contrário de quente?',
'Qual animal é conhecido como o melhor amigo do homem?',
'Em que planeta nós vivemos?',
'O que as abelhas produzem?',
'Qual é o primeiro mês do ano?',
'Do que as plantas precisam para realizar a fotossíntese?']

2- Ler as perguntas e salvar numa lista

     (aqui eu encontrei uma 'biblioteca' com cores e formatações.)

from rich import print

lista_de_perguntas = []

with open("perguntas.txt", "w", encoding="utf-8") as f:
for linha in perguntas:
pergunta = linha.strip()
if pergunta:
lista_de_perguntas.append(pergunta)

print("[bold]Conteúdo da lista de perguntas:[/bold]")

for p in lista_de_perguntas:
print(p)
print(f'\n Total de perguntas salvas na lista: {len(lista_de_perguntas)}')

3 - Obter uma resposta de uma LLM para cada pergunta.

import os
from groq import Groq
from rich import print
from google.colab import userdata

os.environ["GROQ_API_KEY"] = userdata.get("groq_api_key")

client = Groq(api_key=os.environ.get("GROQ_API_KEY"))

print("[bold magenta]Gerando respostas com IA...[/bold magenta]\n")

dados_cvs = []

for pergunta in lista_de_perguntas:
response = client.chat.completions.create(
model="openai/gpt-oss-120b",
messages=[
{"role": "system", "content": "Responda de forma curta e objetiva."},
{"role": "user", "content": pergunta}
]
)

resposta_ia = response.choices[0].message.content
dados_cvs.append({"Pergunta": pergunta, "Resposta": resposta_ia}) 
 


print(f"[bold]P:[/bold] {pergunta}")
print(f"[green]R:[/green] {resposta_ia}")
print("-" * 30)

Gerando respostas com IA...

P: Qual é a capital da França?
R: Paris.

P: Quanto é 2 + 2?
R: 4.

P: De que cor é o céu em um dia claro?
R: Azul.

P: Quantos dias tem uma semana?
R: Uma semana tem 7 dias.

P: Qual é o contrário de quente?
R: Frio.

P: Qual animal é conhecido como o melhor amigo do homem?
R: O cão (cachorro).

P: Em que planeta nós vivemos?
R: Nós vivemos no planeta Terra.

P: O que as abelhas produzem?
R: As abelhas produzem mel, cera, própolis, geleia real, pólen e veneno.

P: Qual é o primeiro mês do ano?
R: Janeiro.

P: Do que as plantas precisam para realizar a fotossíntese?
R: Para a fotossíntese as plantas precisam de:

  • Luz solar (ou outra fonte de luz adequada)
  • Água (H₂O)
  • Dióxido de carbono (CO₂)
  • Clorofila (pigmento que absorve a luz)
  • Condições de temperatura e pH favoráveis.

5 -Salvar as respostas em uma nova lista .CSV.

df = pd.DataFrame(dados_cvs)

df.to_csv('respostas_ia.csv', index=False, encoding="utf-8-sig")

print("Arquivo 'perguntas_e_respostas.csv' criado com sucesso!")

Arquivo 'perguntas_e_respostas.csv' criado com sucesso!

5 - Ler o arquivo .CSV usando Pandas.

df = pd.read_csv ('/content/respostas_ia.csv')

import os

if os.path.exists("perguntas.txt"):
print("O arquivo ja existe.")
else:
print("O arquivo nao foi encontrado.")

O arquivo ja existe.

Exemplo de salvamento permanente

df.to_csv('/content/drive/MyDrive/respostas_ia.csv', index=False, encoding="utf-8-sig")

2 respostas

Oi, Thiago! Como vai?

Agradeço por compartilhar seu código com a comunidade Alura.

Gostei de como você organizou o fluxo completo: criar o .txt, montar a lista_de_perguntas, chamar a LLM e depois transformar tudo em DataFrame para salvar e ler com pandas. Também foi bem legal o uso do rich para deixar a saída mais clara, e o cuidado com encoding="utf-8".

Uma dica interessante para o futuro é usar csv.DictWriter para salvar o CSV sem depender do pandas nesse passo, deixando o pipeline mais leve e direto. Veja este exemplo:


import csv

dados_csv = [
    {"Pergunta": "Quanto é 2 + 2?", "Resposta": "4"},
    {"Pergunta": "Qual é a capital da França?", "Resposta": "Paris"}
]

with open("respostas_ia.csv", "w", newline="", encoding="utf-8-sig") as f:
    writer = csv.DictWriter(f, fieldnames=["Pergunta", "Resposta"])
    writer.writeheader()
    writer.writerows(dados_csv)

Esse código cria o arquivo respostas_ia.csv, escreve o cabeçalho e salva cada item do dados_csv como uma linha no CSV.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Oi Rafaela,
Agradeço pela dica.