ForHosting KIT · Datos y archivos

Muestreo aleatorio de filas CSV con semilla reproducible

Este muestreador de filas CSV selecciona una cantidad exacta de registros sin reemplazo y mantiene la cabecera original.

● BetaGratis · en su navegador
Úselo desde WebAPIEmailTelegramApp pronto

Envíe el texto CSV, el tamaño de la muestra y una semilla entera: las mismas tres entradas siempre generan el mismo CSV reducido. Resulta especialmente útil cuando una revisión, una prueba, una demostración o una auditoría necesita un conjunto manejable que cualquier colaborador pueda reproducir con exactitud.

Cree un subconjunto aleatorio que otros puedan reproducir

El muestreo aleatorio corriente deja de ser práctico cuando otra persona debe repetirlo. Una hoja de cálculo puede elegir registros distintos al recalcularse, y un script sin documentar puede hacer dudar a quien revisa sobre si el resultado cambió entre ejecuciones. Esta herramienta incorpora la semilla a la entrada, junto con el texto CSV y el tamaño solicitado. Por ello, entradas idénticas producen exactamente los mismos registros, algo apropiado para experimentos versionados, notas de revisión y controles de calidad repetibles. El primer registro CSV siempre se considera la cabecera y se conserva. El muestreo se aplica únicamente a los registros de datos posteriores, y cada uno puede aparecer como máximo una vez. Los registros devueltos mantienen su orden relativo original, lo que facilita comparar el archivo reducido con la fuente. Se reconocen campos entrecomillados con comas, comillas escapadas o saltos de línea sin reconstruir su contenido.

Elija deliberadamente el tamaño y la semilla

Defina sample_size con el número exacto de registros de datos que necesita. El valor cero es válido y devuelve solo la cabecera, lo que puede servir para crear un fixture vacío que conserve el esquema. El tamaño no puede superar la cantidad de registros disponibles, pues el muestreo se realiza sin reemplazo: solicitar más filas distintas de las que existen sería imposible. En ese caso, la solicitud devuelve un error de entrada claro en lugar de duplicar registros o reducir el tamaño en silencio. seed debe ser un entero seguro. No es un secreto de seguridad ni necesita ser imprevisible; su función es identificar una selección reproducible. Los equipos suelen derivarla de un número de experimento, caso de prueba o ronda de revisión y guardarla junto al resultado. Cambiar solo la semilla suele producir otro subconjunto, mientras que recuperar la anterior restaura la selección previa. Mantenga sin cambios el CSV fuente cuando necesite reproducibilidad.

Use el CSV muestreado con criterio en pruebas y revisiones

Un subconjunto aleatorio ayuda en inspecciones rápidas, pruebas básicas de canalizaciones, demostraciones y distribución de fixtures manejables, pero no se convierte automáticamente en una muestra estadísticamente representativa. Las categorías poco frecuentes pueden quedar fuera por azar, sobre todo si la muestra solicitada es pequeña. Si todas las categorías deben aparecer, utilice un proceso estratificado y no considere que una muestra aleatoria sin restricciones lo garantiza. Esta capacidad no realiza llamadas de red, enriquecimiento, conversión de tipos, cambio de delimitador ni limpieza. Conserva los registros CSV seleccionados y los une bajo la cabecera original, evitando sorpresas como fechas reescritas o números normalizados. También mantiene intactos los registros multilínea entrecomillados. Las líneas físicas vacías bajo la cabecera cuentan como registros, ya que eliminarlas alteraría la población proporcionada. Para automatizar, guarde la semilla, el tamaño y una copia estable o suma de comprobación de la fuente. Cada solicitud de API cuesta $0.002; la versión del navegador calcula lo mismo localmente.

Construir fixtures de prueba repetibles

Seleccione un subconjunto CSV compacto para pruebas de integración y guarde la semilla para reproducir cualquier fallo.

Compartir un archivo manejable para revisión

Entregue menos registros conservando la cabecera, el formato original y un método de selección reproducible.

Comparar ejecuciones experimentales

Use las mismas filas con transformaciones o modelos alternativos para que la entrada no distorsione la comparación.

¿Puede seleccionarse dos veces la misma fila?

No. El muestreo se realiza sin reemplazo, de modo que cada registro elegido ocupa una posición distinta en la fuente.

¿La salida conserva la cabecera CSV?

Sí. El primer registro se mantiene como cabecera y el muestreo solo afecta a los registros posteriores.

¿Por qué el resultado es determinista?

La semilla entera inicializa un algoritmo seudoaleatorio fijo. El mismo CSV, tamaño y semilla producen la misma salida.

¿Qué ocurre si la muestra supera el tamaño del CSV?

La solicitud falla con un error de entrada porque no se puede extraer sin reemplazo una muestra distinta mayor que la población.

¿Admite campos entrecomillados o multilínea?

Sí. Reconoce comas entrecomilladas, comillas dobles escapadas y saltos de línea dentro de campos entrecomillados.

¿Cuánto cuesta una solicitud de API?

Cada solicitud de API cuesta $0.002. La versión del navegador ejecuta localmente el mismo cálculo puro.

Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.

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

¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.

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"
  }
}

La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

max_mb25
HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Ver la documentación completa del KIT →