ForHosting KIT · Dados e planilhas

Amostra aleatória de linhas CSV com semente reproduzível

Este amostrador de linhas CSV seleciona uma quantidade exata de registros sem reposição e mantém o cabeçalho original.

● BetaGrátis · no seu navegador
Use pelo WebAPIE-mailTelegramApp em breve

Envie o texto CSV, o tamanho da amostra e uma semente inteira: as mesmas três entradas sempre geram o mesmo CSV amostrado. Ele é especialmente útil quando uma análise, teste, demonstração ou auditoria exige um conjunto menor que seus colaboradores possam recriar com exatidão.

Crie um subconjunto aleatório que outras pessoas possam reproduzir

A amostragem aleatória comum deixa de ser prática quando outra pessoa precisa repeti-la. Uma planilha pode escolher registros diferentes após um recálculo, enquanto um script sem documentação pode deixar dúvidas sobre mudanças entre execuções. Esta ferramenta inclui a semente na entrada, junto com o texto CSV e o tamanho solicitado. Assim, entradas idênticas produzem exatamente os mesmos registros, o que favorece experimentos versionados, anotações de revisão e verificações de qualidade repetíveis. O primeiro registro CSV é sempre considerado o cabeçalho e permanece na saída. A amostragem se aplica somente aos registros de dados abaixo dele, e cada registro aparece no máximo uma vez. As linhas selecionadas preservam sua ordem relativa original, facilitando a comparação do arquivo reduzido com a fonte. Campos entre aspas podem conter vírgulas, aspas escapadas ou quebras de linha; seus limites são reconhecidos sem achatar nem reconstruir o conteúdo.

Escolha conscientemente o tamanho e a semente

Defina sample_size como a quantidade exata de registros de dados necessária. O valor zero é válido e retorna apenas o cabeçalho, algo útil para criar um fixture vazio que ainda represente o esquema. O tamanho não pode ultrapassar o total de registros disponíveis, pois a seleção ocorre sem reposição: solicitar mais linhas distintas do que existem tornaria o resultado impossível. Nesse caso, a solicitação retorna um erro de entrada claro em vez de duplicar registros ou reduzir o tamanho silenciosamente. seed deve ser um inteiro seguro. Ela não é um segredo de segurança nem precisa ser imprevisível; sua finalidade é identificar uma seleção reproduzível. Equipes costumam derivá-la do número de um experimento, caso de teste ou rodada de revisão e registrá-la com o resultado. Alterar apenas a semente normalmente escolhe outro subconjunto; restaurar a anterior recupera a seleção anterior. Mantenha o CSV de origem inalterado quando a reprodução exata for importante.

Use o CSV amostrado com responsabilidade em testes e análises

Um subconjunto aleatório ajuda em inspeções rápidas, testes básicos de pipelines, demonstrações e distribuição de fixtures menores, mas não se torna automaticamente representativo em termos estatísticos. Categorias raras podem ficar ausentes por acaso, principalmente quando a amostra solicitada é pequena. Se todas as categorias precisarem aparecer, use um processo estratificado em vez de tratar uma amostra irrestrita como garantia. Esta capacidade não faz chamadas de rede, enriquecimento, conversão de tipos, troca de delimitador nem limpeza. Ela preserva os registros CSV selecionados e os reúne sob o cabeçalho original, evitando surpresas como datas reformatadas ou números normalizados. Registros multilinha entre aspas permanecem intactos. Linhas físicas vazias abaixo do cabeçalho também contam como registros, pois descartá-las alteraria a população fornecida. Em fluxos automatizados, guarde a semente, o tamanho e uma cópia estável ou soma de verificação da fonte. Solicitações de API custam US$ 0,002; no navegador, o mesmo cálculo ocorre localmente.

Criar fixtures de teste repetíveis

Selecione um subconjunto CSV compacto para testes de integração e guarde a semente para reproduzir falhas.

Compartilhar um arquivo viável para análise

Forneça menos registros, preservando o cabeçalho, o formato original e um método de seleção reproduzível.

Comparar execuções experimentais

Use as mesmas linhas em transformações ou modelos alternativos para que diferenças de entrada não prejudiquem a comparação.

A mesma linha pode ser selecionada duas vezes?

Não. A amostragem é feita sem reposição, portanto cada registro escolhido tem uma posição distinta na origem.

A saída mantém o cabeçalho CSV?

Sim. O primeiro registro é preservado como cabeçalho, e somente os registros seguintes participam da amostragem.

O que torna o resultado determinístico?

A semente inteira inicializa um algoritmo pseudoaleatório fixo. O mesmo CSV, tamanho e semente produzem a mesma saída.

O que acontece se a amostra for maior que o CSV?

A solicitação falha com um erro de entrada, pois não é possível obter sem reposição uma amostra distinta maior que a população.

Campos entre aspas ou com várias linhas são aceitos?

Sim. Vírgulas entre aspas, aspas duplas escapadas e quebras de linha dentro de campos entre aspas são reconhecidas.

Quanto custa uma solicitação de API?

Cada solicitação de API custa US$ 0,002. A versão para navegador executa localmente o mesmo cálculo puro.

Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.

POSThttps://api.kit.forhosting.com/data/random-sample-rows

Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.

curl -X POST https://api.kit.forhosting.com/data/random-sample-rows \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"csv":"id,name,team\n1,Ada,Blue\n2,Grace,Red\n3,Linus,Blue\n4,Margaret,Green\n5,Donald,Red","sample_size":3,"seed":42}'
{
  "csv": "id,name,team\n1,Ada,Blue\n2,Grace,Red\n3,Linus,Blue\n4,Margaret,Green\n5,Donald,Red",
  "sample_size": 3,
  "seed": 42
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.random_sample_rows",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.

por chamadaUS$ 0,002

Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.

max_mb25
HTTPCódigoO que significa
401unauthorizedToken ausente ou inválido. Confira o header Authorization.
402insufficient_balanceSaldo insuficiente para esta tarefa. Faça uma recarga e tente de novo.
404unknown_typeEsse tipo de tarefa não existe. Confira o campo type no catálogo.
429rate_limitedMuitas requisições em pouco tempo. Espere um instante e tente de novo.

Ver a documentação completa do KIT →