image

Bootcamps ilimitados + curso de inglĂȘs para sempre

80
%OFF
Article image
José Lucas
José Lucas19/09/2025 16:07
Share
Microsoft - Azure AZ-900Recommended for youMicrosoft - Azure AZ-900

🐍 Python: Do “Olá, Mundo!” ao Dashboard Interativo com Flask e Plotly

    ,Como transformar aprendizado em impacto real na sua carreira

    🎭 Introdução – O Chamado do Herói

    Enquanto vocĂȘ lĂȘ este artigo, milhares de empresas estĂŁo contratando desenvolvedores Python para resolver problemas reais: desde prever epidemias atĂ© automatizar sistemas bancĂĄrios. E a boa notĂ­cia Ă© que vocĂȘ nĂŁo precisa ser um especialista para começar.

    Neste artigo, vou mostrar como sair do “OlĂĄ, mundo!” atĂ© um mini dashboard web interativo, explicando cada decisĂŁo tĂ©cnica e conectando o aprendizado com impacto de carreira.

    image

    🚀 Por que Python Ă© a escolha inteligente

    • Sintaxe clara: curva de aprendizado suave, ideal para iniciantes.
    • Ecossistema vasto: bibliotecas para dados, web, IA, automação.
    • Mercado aquecido: Python estĂĄ entre as linguagens mais requisitadas globalmente.
    • Comunidade ativa: suporte, tutoriais e bibliotecas open source em abundĂąncia.

    đŸ§© As ferramentas da jornada

    Pandas – Organização de dados

    Permite manipular tabelas como se fossem planilhas, mas com poder de programação.

    import pandas as pd
    df = pd.read_csv("gastos.csv")
    print(df.head())
    

    Flask – AplicaçÔes web leves

    Framework minimalista para transformar scripts em aplicaçÔes acessíveis via navegador.

    Plotly – VisualizaçÔes interativas

    Diferente do Matplotlib, o Plotly permite zoom, hover e filtros dinĂąmicos, entregando dashboards modernos.

    image

    đŸ’» O Projeto – Dashboard Multi-GrĂĄficos

    Vamos criar um mini portal de visualizaçÔes que lĂȘ dados de um CSV e exibe diferentes grĂĄficos interativos.

    image

    Estrutura cĂłdigo

    meu_dashboard/
    │── app.py
    │── dados.csv
    

    Exemplo de dados.csv:

    csv

    Data,Vendas,Categoria,Valor,Cidade,Lat,Lon
    2025-01-01,10,Alimentação,500,São Paulo,-23.55,-46.63
    2025-01-02,15,Transporte,200,Rio de Janeiro,-22.90,-43.20
    2025-01-03,13,Educação,300,Belo Horizonte,-19.92,-43.94
    2025-01-04,17,Lazer,150,SĂŁo Paulo,-23.55,-46.63
    2025-01-05,20,Alimentação,400,Rio de Janeiro,-22.90,-43.20
    

    CĂłdigo (app.py)

    from flask import Flask, render_template_string
    import pandas as pd
    import plotly.express as px
    
    app = Flask(__name__)
    df = pd.read_csv("dados.csv")
    
    @app.route("/")
    def home():
      return """
      <h1>📊 Dashboard Multi-Gráficos</h1>
      <ul>
          <li><a href='/linhas'>GrĂĄfico de Linhas (Vendas)</a></li>
          <li><a href='/pizza'>GrĂĄfico de Pizza (Categorias)</a></li>
          <li><a href='/histograma'>Histograma (Valores)</a></li>
          <li><a href='/mapa'>Mapa (Cidades)</a></li>
      </ul>
      """
    
    @app.route("/linhas")
    def linhas():
      fig = px.line(df, x="Data", y="Vendas", title="Evolução das Vendas")
      return render_template_string(fig.to_html(full_html=False))
    
    @app.route("/pizza")
    def pizza():
      fig = px.pie(df, values="Valor", names="Categoria", title="Distribuição de Gastos")
      return render_template_string(fig.to_html(full_html=False))
    
    @app.route("/histograma")
    def histograma():
      fig = px.histogram(df, x="Valor", nbins=5, title="Distribuição de Valores")
      return render_template_string(fig.to_html(full_html=False))
    
    @app.route("/mapa")
    def mapa():
      fig = px.scatter_geo(df, lat="Lat", lon="Lon", text="Cidade",
                           size="Valor", title="Mapa de Cidades")
      return render_template_string(fig.to_html(full_html=False))
    
    if __name__ == "__main__":
      app.run(debug=True
    
                                                                         🌍 Impacto na Carreira
    

    image

    Esse projeto simples jĂĄ demonstra:

    • DomĂ­nio de fundamentos (Python, Pandas, Flask, Plotly).
    • Capacidade de entregar valor real (dashboard Ăștil e interativo).
    • VisĂŁo prĂĄtica (transformar dados crus em insights visuais).

    🔄 Projeto 2 – Automação de Arquivos com Python

    🎯 Contexto

    AlĂ©m de dashboards e visualizaçÔes, Python tambĂ©m brilha em tarefas de automação. Imagine ter uma pasta cheia de arquivos misturados (PDFs, imagens, planilhas) e precisar organizĂĄ-los manualmente. Com poucas linhas de cĂłdigo, vocĂȘ pode criar um organizador automĂĄtico de arquivos.

    📂 Estrutura

    CĂłdigo

    organizador/
    │── organizador.py
    │── downloads/   (pasta com arquivos bagunçados)
    

    đŸ’» CĂłdigo (organizador.py)

    python

    import os
    import shutil
    
    # Pasta de origem (onde estão os arquivos bagunçados)
    origem = "downloads"
    
    # Pasta de destino
    destino = "downloads_organizados"
    
    # Cria a pasta de destino se nĂŁo existir
    os.makedirs(destino, exist_ok=True)
    
    # ExtensÔes e categorias
    categorias = {
      "Imagens": [".jpg", ".png", ".gif"],
      "Documentos": [".pdf", ".docx", ".txt"],
      "Planilhas": [".xlsx", ".csv"],
      "Outros": []
    }
    
    # Organizando arquivos
    for arquivo in os.listdir(origem):
      caminho_arquivo = os.path.join(origem, arquivo)
      if os.path.isfile(caminho_arquivo):
          movido = False
          for categoria, extensoes in categorias.items():
              if any(arquivo.endswith(ext) for ext in extensoes):
                  pasta_destino = os.path.join(destino, categoria)
                  os.makedirs(pasta_destino, exist_ok=True)
                  shutil.move(caminho_arquivo, os.path.join(pasta_destino, arquivo))
                  movido = True
                  break
          if not movido:
              pasta_destino = os.path.join(destino, "Outros")
              os.makedirs(pasta_destino, exist_ok=True)
              shutil.move(caminho_arquivo, os.path.join(pasta_destino, arquivo))
    
    print("✅ Arquivos organizados com sucesso!")
    

    🚀 Como funciona

    1. O script percorre todos os arquivos da pasta downloads.
    2. Verifica a extensĂŁo de cada arquivo.
    3. Move automaticamente para subpastas como Imagens, Documentos, Planilhas ou Outros.

    🌍 Impacto na Carreira

    Esse projeto mostra que vocĂȘ sabe usar Python para resolver problemas prĂĄticos do dia a dia.

    • É simples, mas demonstra pensamento lĂłgico e organização de cĂłdigo.
    • Pode ser expandido para automaçÔes mais complexas (renomear arquivos, enviar por e-mail, integrar com APIs).
    • Mostra que vocĂȘ nĂŁo sĂł entende bibliotecas avançadas, mas tambĂ©m domina fundamentos Ășteis.

    É exatamente esse tipo de iniciativa que diferencia um iniciante que “sabe sintaxe” de alguĂ©m pronto para o mercado.

    🎯 Conclusão – Hackeando o Amanhã

    Python nĂŁo Ă© apenas uma linguagem: Ă© um ecossistema de possibilidades. Com ele, vocĂȘ pode tanto criar dashboards interativos para empresas quanto automatizar tarefas do dia a dia.

    Cada linha de cĂłdigo Ă© um passo para hackear o amanhĂŁ. E o melhor: vocĂȘ jĂĄ tem as ferramentas para começar hoje.

    Share
    Recommended for you
    Microsoft Certification Challenge #4 - DP 100
    Microsoft Certification Challenge #4 - AZ 204
    Microsoft Certification Challenge #4 - AI 102
    Comments (0)
    Recommended for youMicrosoft - Azure AZ-900