Aula 3 • Projeto 5 • Adm Tech
Excel para CSV e Analise Financeira com Python

Fluxo pratico: organizar dados, limpar base e calcular VPL, TIR e Payback no Colab.

Excel -> CSV Pandas VPL / TIR
Agenda da Aula
2 horas

Plano simplificado

1) Entrada de dados

Exportar planilha de Excel para CSV com padrão consistente.

2) Organizacao

Limpar tipos, datas e valores monetarios usando Pandas.

3) Calculos financeiros

Aplicar VPL, TIR e Payback no mesmo dataset.

4) Entregavel

Notebook no Colab rodando de ponta a ponta com resultado.

Objetivo da Aula
5 min

Do arquivo bruto ao indicador financeiro

  • Padronizar uma base de fluxo de caixa em CSV.
  • Evitar erros de formato (separador, decimal, cabecalho e data).
  • Calcular VPL e TIR em Python, como nas aulas anteriores.
  • Documentar um processo reutilizavel para o projeto.

Escopo de hoje: menos teoria nova, mais execucao aplicada.

Passo 1: Excel -> CSV
Bloco 1

Checklist de exportacao

  • Salvar a aba correta: Arquivo -> Salvar como -> CSV UTF-8.
  • Uma linha por periodo e colunas com nomes curtos e claros.
  • Sem celulas mescladas, sem formulas quebradas e sem totais no meio da tabela.
  • Usar separador decimal consistente (preferencia: ponto para Python).

Colunas minimas sugeridas

periodo,receita,custo,investimento 2025-01,120000,70000,50000 2025-02,128000,74000,0 2025-03,135000,76000,0
Exemplo de CSV (slide)
Bloco 1

Arquivo fluxo_caixa_projeto.csv

Este e o exemplo base para copiar no Colab:

periodo,investimento_inicial,entrada,saida,fluxo_caixa 2025-01,-150000,0,0,-150000 2025-02,0,28000,12000,16000 2025-03,0,32000,13000,19000 2025-04,0,35000,14000,21000 2025-05,0,36000,15000,21000 2025-06,0,38000,15000,23000

Observacao: para VPL/TIR basta uma coluna de fluxo de caixa.

Passo 2: Organizar com Pandas
Bloco 2

Leitura e limpeza basica

import pandas as pd # upload do CSV no Colab df = pd.read_csv("fluxo_caixa_projeto.csv") # tipos e consistencia df["periodo"] = pd.to_datetime(df["periodo"]) df["fluxo_caixa"] = pd.to_numeric(df["fluxo_caixa"], errors="coerce") # remover linhas invalidas df = df.dropna(subset=["fluxo_caixa"]).sort_values("periodo") display(df)

Depois da limpeza, use sempre df.info() para validar tipos antes dos calculos.

Passo 3: VPL, TIR e Payback
Bloco 3

Calculos com Python

import numpy as np fluxos = df["fluxo_caixa"].to_list() tma = 0.012 # 1,2% ao mes # VPL vpl = npf.npv(tma, fluxos) # TIR tir = npf.irr(fluxos) # Payback simples (em periodos) acumulado = np.cumsum(fluxos) payback_idx = np.argmax(acumulado >= 0) payback = int(payback_idx) if acumulado[payback_idx] >= 0 else None print(f"VPL: R$ {vpl:,.2f}") print(f"TIR: {tir:.2%}") print(f"Payback: {payback} periodos")

Instalacao no Colab: !pip install numpy-financial e import numpy_financial as npf.

Exercicio Guiado
20 min

Entregavel da aula

  1. Converter uma planilha real do grupo para CSV.
  2. Padronizar colunas e limpar tipos no Pandas.
  3. Calcular VPL e TIR com duas TMAs diferentes.
  4. Comparar o resultado com o valor calculado na planilha original.
  5. Salvar resultado final em resultado_analise.csv.
Material para Colab
Apoio

Arquivo de apoio da aula 3

Use o material escrito com o script completo para rodar no Google Colab:

Abrir lesson-3-material

Checklist final

  • CSV validado
  • Notebook executado do inicio ao fim
  • VPL/TIR conferidos
  • Resultado exportado