Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

0
respostas

Faça como eu fiz: arquivos e pandas

Pergunta 1: Criar uma lista vazia para armazenar os resumos dos e-mails

resumos_emails = []

Pergunta 2: Utilizar append para inserir cada resumo formatado com f-string

emails = [
    {"remetente": "João", "assunto": "Reunião"},
    {"remetente": "Maria", "assunto": "Relatório"}
]

resumos_emails = []

for email in emails:
    resumo = f"Remetente: {email['remetente']} | Assunto: {email['assunto']}"
    resumos_emails.append(resumo)

print(resumos_emails)

Pergunta 3: Retornar a lista populada após um loop

def gerar_resumos(emails):
    resumos = []

    for email in emails:
        resumo = f"Remetente: {email['remetente']} | Assunto: {email['assunto']}"
        resumos.append(resumo)

    return resumos

Pergunta 4: Criar e sobrescrever um arquivo TXT usando modo "w"

with open("resumos.txt", "w", encoding="utf-8") as arquivo:
    for resumo in resumos_emails:
        arquivo.write(resumo + "\n")

Pergunta 5: Ler o arquivo e salvar em uma nova lista usando strip()

lista_resumos = []

with open("resumos.txt", "r", encoding="utf-8") as arquivo:
    for linha in arquivo:
        lista_resumos.append(linha.strip())

print(lista_resumos)

Pergunta 6: Demonstrar read(), readline() e readlines()

Utilizando read()

with open("resumos.txt", "r", encoding="utf-8") as arquivo:
    conteudo = arquivo.read()

print(conteudo)

Utilizando readline()

with open("resumos.txt", "r", encoding="utf-8") as arquivo:
    primeira_linha = arquivo.readline()

print(primeira_linha)

Utilizando readlines()

with open("resumos.txt", "r", encoding="utf-8") as arquivo:
    linhas = arquivo.readlines()

print(linhas)

Pergunta 7: Importar Pandas usando o alias pd

import pandas as pd

Pergunta 8: Construir um CSV manualmente

dados = [
    {"nome": "Ana", "idade": 25},
    {"nome": "Carlos", "idade": 30}
]

with open("dados_manual.csv", "w", encoding="utf-8") as arquivo:
    arquivo.write("nome,idade\n")

    for item in dados:
        arquivo.write(f"{item['nome']},{item['idade']}\n")

Pergunta 9: Criar DataFrame e salvar com to_csv()

import pandas as pd

dados = [
    {"nome": "Ana", "idade": 25},
    {"nome": "Carlos", "idade": 30}
]

df = pd.DataFrame(dados)

df.to_csv(
    "dados_pandas.csv",
    index=False,
    encoding="utf-8"
)

Pergunta 10: Criar um arquivo TXT a partir de uma lista de perguntas

perguntas = [
    "O que é Ciência de Dados?",
    "O que é Machine Learning?",
    "O que é Big Data?",
    "O que é um DataFrame?",
    "O que é Inteligência Artificial?"
]

with open("perguntas.txt", "w", encoding="utf-8") as arquivo:
    for pergunta in perguntas:
        arquivo.write(pergunta + "\n")

Pergunta 11: Ler as perguntas e criar uma lista

lista_perguntas = []

with open("perguntas.txt", "r", encoding="utf-8") as arquivo:
    for linha in arquivo:
        lista_perguntas.append(linha.strip())

print(lista_perguntas)

Pergunta 12: Integrar uma chamada ao LLM e salvar os resultados em CSV

import pandas as pd

lista_respostas = []

for pergunta in lista_perguntas:
    resposta = client.models.generate_content(
        model="gemini-2.5-flash",
        contents=f"Responda de forma breve: {pergunta}"
    )

    lista_respostas.append({
        "pergunta": pergunta,
        "resposta": resposta.text
    })

df = pd.DataFrame(lista_respostas)

df.to_csv(
    "perguntas_respostas.csv",
    index=False,
    encoding="utf-8"
)

Resultado Final

Arquivos gerados:

  • resumos.txt
  • dados_manual.csv
  • dados_pandas.csv
  • perguntas.txt
  • perguntas_respostas.csv

O exercício demonstra o uso de listas, dicionários, append(), leitura e escrita de arquivos TXT, criação de CSV manualmente, utilização da biblioteca Pandas e integração com um LLM para geração de respostas.