ExemplosExemplo

Exemplo: resuma uma lista de registros

A maioria das automações é dado entrando e dado saindo: linhas de uma consulta, de um arquivo ou de uma API chegam, são transformadas e seguem para o próximo passo. Este exemplo faz a transformação numa lista que você passa como entrada, então roda em qualquer lugar, e devolve uma lista de objetos que o editor mostra como tabela ordenável.

O que você vai aprender
  • Receber uma lista de objetos como entrada
  • Devolver linhas que o editor mostra como tabela

Uma lista entra, linhas saem

Um parâmetro tipado como lista de dicionários ganha um editor JSON no cartão Entradas, já preenchido com o padrão. Um resultado que é uma lista de objetos abre como tabela com busca, ordenação e exportação em CSV — e, num flow, um loop pode percorrer linha por linha.

Entradas
Configure os dados desta execução.
VisualJSON
namestringobrigatóriovalor de texto
timesintegeropcional1
shoutbooleanopcional
false
toneenumopcionalwarm
tagslist[str]opcional
["vip", "newsletter"]
Preencha name para rodar
greet.py
1from typing import Literal2 3def main(4    name: str,5    times: int = 1,6    shout: bool = False,7    tone: Literal["warm", "formal"] = "warm",8    tags: list[str] = [],9):10    word = "Hello" if tone == "warm" else "Good day"11    text = f"{word}, {name}!"12    if shout:13        text = text.upper()14    return {"greetings": [text] * times, "tags": tags}
Python 3.15LSP
Um parâmetro de lista ganha um editor JSON; uma lista de objetos volta como tabela.

O código

summary.py
DEFAULT = [
    {"city": "Recife", "total": 120.5},
    {"city": "Curitiba", "total": 89.9},
    {"city": "Recife", "total": 59.9},
]

def main(orders: list[dict] = DEFAULT):
    by_city = {}
    for o in orders:
        c = by_city.setdefault(o["city"], {"city": o["city"], "orders": 0, "total": 0.0})
        c["orders"] += 1
        c["total"] = round(c["total"] + o["total"], 2)
    rows = sorted(by_city.values(), key=lambda r: -r["total"])
    print(f"{len(orders)} orders, {len(rows)} cities")
    return rows

Três detalhes deixam o resultado fácil de usar depois. Toda linha tem as mesmas chaves, então aparece como colunas. Os totais são arredondados em centavos, porque somar preços em ponto flutuante deixa caudas longas como 180.39999. E as linhas vêm ordenadas com a maior cidade primeiro, então a tabela responde à pergunta óbvia antes de alguém clicar num cabeçalho. A linha de log vai para os Logs e nunca se mistura com as linhas.

  1. Cole o código e clique em Executar com a lista padrão.
  2. Edite o JSON no campo orders — acrescente uma cidade — e rode de novo.

Vá além

Alimente com linhas de verdade: coloque um passo SQL antes dele num flow e ligue a entrada orders às linhas da consulta, ou agende e mande a tabela por e-mail — veja o exemplo do relatório.