Nesta aula, foram abordados conceitos de leitura e escrita de arquivos em Python e a manipulação de dados com o Pandas.
Agora é a sua chance de praticar os conteúdos vistos. Para isso:
Crie uma lista vazia para armazenar os resumos dos e-mails.
Utilize a função append para inserir cada resumo formatado via fString na lista.
Configure a função para retornar a lista populada após um loop de iterações.
import os,time,pandas as pd
from google.colab import userdata
from google import genai
os.environ['GOOGLE_API_KEY']=userdata.get('IA-Aplicada')
client=genai.Client()
emails=[
"Quero informações sobre o curso de Python.",
"Meu pedido está atrasado.",
"Não consigo acessar minha conta.",
"Quero cancelar minha assinatura."
]
def gerar_resumos():
resumos=[]
for email in emails:
r=client.models.generate_content(
model="gemini-2.5-flash",
contents=f"Resuma em uma linha: {email}"
)
resumos.append(f"{email} - {r.text}")
time.sleep(7)
return resumos
resumos=gerar_resumos()
with open("lista-de-resumos.txt","w",encoding="utf-8") as arq:
for item in resumos:
arq.write(item+"\n")
print(resumos)
Implemente o with open com modo 'W' para criar e sobrescrever um arquivo .txt com os resumos.
Use write ou write lines com '\n' para separar cada entrada no arquivo.
Abra o arquivo em modo 'R' e leia suas linhas, salvando em uma nova lista com strip para remover quebras de linha.
Explore os métodos read, readline e readlines para diferentes formas de leitura em Python.
lista=[]
with open("lista-de-resumos.txt","r",encoding="utf-8") as arq:
for linha in arq:
lista.append(linha)
print(lista)
with open("lista-de-resumos.txt","r",encoding="utf-8") as arq:
print(arq.read())
with open("lista-de-resumos.txt","r",encoding="utf-8") as arq:
print(arq.readline())
with open("lista-de-resumos.txt","r",encoding="utf-8") as arq:
print(arq.readlines())
with open("lista-de-resumos.txt","r",encoding="utf-8") as arq:
lista2=[l.strip() for l in arq]
print(lista2)
Importe o Pandas utilizando o alias pd para manipulação de dados.
Construa um arquivo .csv manualmente, escrevendo o cabeçalho e as linhas com as chaves de cada dicionário.
Crie um DataFrame com a lista de dicionários e utilize o método to_csv para salvar o CSV com encoding UTF-8.
import pandas as pd
dados=[
{
"nome":"Eduardo",
"cidade":"Recife"
},
{
"nome":"Maria",
"cidade":"Olinda"
},
{
"nome":"João",
"cidade":"Jaboatão"
}
]
with open("dados.csv","w",encoding="utf-8") as arq:
arq.write("nome,cidade\n")
for item in dados:
arq.write(f"{item['nome']},{item['cidade']}\n")
df=pd.DataFrame(dados)
df.to_csv(
"dados2.csv",
index=False,
encoding="utf-8"
)
print(df.head())
Desenvolva um desafio para gerar um arquivo .txt a partir de uma lista de perguntas e depois lê-lo para criar uma lista.
Integre uma chamada ao LLM para obter respostas sucintas, associando cada pergunta com sua resposta e salvando o resultado final em um novo arquivo .csv.
perguntas=[
"O que é Python?",
"O que é IA?"
]
with open("perguntas.txt","w",encoding="utf-8") as arq:
for p in perguntas:
arq.write(p+"\n")
lista=[]
with open("perguntas.txt","r",encoding="utf-8") as arq:
lista=[l.strip() for l in arq]
dados=[]
for pergunta in lista:
r=client.models.generate_content(
model="gemini-2.5-flash",
contents=f"Responda resumidamente: {pergunta}"
)
dados.append({
"pergunta":pergunta,
"resposta":r.text
})
time.sleep(7)
with open("respostas.csv","w",encoding="utf-8") as arq:
arq.write("pergunta,resposta\n")
for item in dados:
arq.write(f"{item['pergunta']},{item['resposta']}\n")
df2=pd.DataFrame(dados)
df2.to_csv(
"respostas2.csv",
index=False,
encoding="utf-8"
)
print(df2.head())