===== PARTE 1: Processamento de E-mails =====
def gerar_resumos_emails(emails):
resumos = []
for email in emails:
resumo = f"De: {email['remetente']} | Assunto: {email['assunto']}"
resumos.append(resumo)
return resumos
===== PARTE 2: Salvar resumos em arquivo TXT =====
def salvar_resumos_txt(resumos, arquivo='resumos.txt'):
with open(arquivo, 'w', encoding='utf-8') as f:
f.writelines([r + '\n' for r in resumos])
print(f"Arquivo '{arquivo}' criado com sucesso!")
===== PARTE 3: Ler arquivo TXT =====
def ler_resumos_txt(arquivo='resumos.txt'):
with open(arquivo, 'r', encoding='utf-8') as f:
linhas = [linha.strip() for linha in f.readlines()]
return linhas
Explorando diferentes metodos de leitura
def explorar_metodos_leitura(arquivo='resumos.txt'):
# read() - retorna uma string
with open(arquivo, 'r') as f:
conteudo_completo = f.read()
# readline() - retorna uma linha por vez
with open(arquivo, 'r') as f:
primeira_linha = f.readline().strip()
# readlines() - retorna lista de linhas
with open(arquivo, 'r') as f:
todas_linhas = f.readlines()
return conteudo_completo, primeira_linha, todas_linhas
===== PARTE 4: CSV Manual =====
def criar_csv_manual(arquivo='dados.csv'):
with open(arquivo, 'w', encoding='utf-8') as f:
f.write('id,remetente,assunto,data\n')
f.write('1,joao@email.com,Reuniao segunda,2024-01-15\n')
f.write('2,maria@email.com,Projeto novo,2024-01-16\n')
===== PARTE 5: Pandas DataFrame e CSV =====
def criar_df_pandas():
dados = [
{'id': 1, 'remetente': 'joao@email.com', 'assunto': 'Reuniao', 'data': '2024-01-15'},
{'id': 2, 'remetente': 'maria@email.com', 'assunto': 'Projeto', 'data': '2024-01-16'}
]
df = pd.DataFrame(dados)
df.to_csv('dados_pandas.csv', index=False, encoding='utf-8')
return df
===== PARTE 6: Desafio de Perguntas com LLM =====
def desafio_perguntas_llm():
perguntas = [
"O que e Python?",
"Para que serve Pandas?",
"Como ler um arquivo em Python?"
]
# Salvar perguntas em arquivo txt
with open('perguntas.txt', 'w', encoding='utf-8') as f:
f.writelines([p + '\n' for p in perguntas])
# Ler perguntas de volta
with open('perguntas.txt', 'r', encoding='utf-8') as f:
perguntas_lidas = [linha.strip() for linha in f.readlines()]
# Integrar com LLM Anthropic
client = Anthropic()
resultados = []
for pergunta in perguntas_lidas:
response = client.messages.create(
model="claude-3-5-sonnet-20241022",
max_tokens=150,
messages=[
{"role": "user", "content": f"Responda de forma sucinta (1-2 linhas): {pergunta}"}
]
)
resposta = response.content[0].text
resultados.append({'pergunta': pergunta, 'resposta': resposta})
# Salvar em CSV final
df_respostas = pd.DataFrame(resultados)
df_respostas.to_csv('perguntas_respostas.csv', index=False, encoding='utf-8')
return resultados
===== EXECUCAO COMPLETA =====
if name == "main":
# 1. Processar emails
emails = [
{'remetente': 'joao@email.com', 'assunto': 'Reuniao de projeto'},
{'remetente': 'maria@email.com', 'assunto': 'Atualizacao do sistema'}
]
resumos = gerar_resumos_emails(emails)
# 2. Salvar e ler txt
salvar_resumos_txt(resumos)
resumos_lidos = ler_resumos_txt()
print("Resumos lidos:", resumos_lidos)
# 3. Explorar metodos
conteudo, linha1, todas = explorar_metodos_leitura()
# 4. CSV e Pandas
criar_csv_manual()
df = criar_df_pandas()
# 5. Desafio com LLM
print("Processando perguntas com LLM...")
resultados = desafio_perguntas_llm()
print("Resultados salvos em 'perguntas_respostas.csv'")
::
Resumo do que foi implementado:
Funcao gerar_resumos_emails: Cria lista com f-strings formatadas
Arquivo TXT com writelines: Salva resumos com '\n'
Leitura com strip(): Remove quebras de linha
Tres metodos explorados: read(), readline(), readlines()
CSV manual: Escrito com cabecalho e dados
Pandas DataFrame: Criado e exportado com to_csv() e UTF-8
Desafio completo: Arquivo txt de perguntas, leitura, chamada LLM Anthropic, salvamento em CSV