{
  "title": "CSV deterministic sampler",
  "human_url": "https://happytails.ai/en/data-tools/csv-deterministic-sampler/",
  "agent_url": "https://happytails.ai/agents/en/data-tools/csv-deterministic-sampler/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/data-tools/csv-deterministic-sampler.md",
  "content": "CSV deterministic sampler\nCreate a repeatable sample of CSV records using a seed. Sample without replacement and retain each record's source number.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use CSV deterministic sampler\nPaste the CSV and choose a sample size no larger than the input record count.\nEnter a seed and an unused source-record column name.\nReview the selected records, then download the sample and processing report.\nUseful next steps\nCSV row filter\nCSV formula injection checker\nDataset value mapper\nCSV to JSON\nWhat to expect\nCreate a repeatable sample of CSV records using a seed. Sample without replacement and retain each record's source number. Paste CSV, choose a whole-number sample size and enter a seed. Identical input, size and seed produce the same selected records. Changing the input order changes the sample. Records are sampled without replacement and exported in their original source order. The added source-record column identifies the original one-based data-record position, excluding the header. A quoted multiline record counts once. Choose an unused name for this column. Download the sample and the JSON report, which records the seed and the versioned sampling algorithm. This is deterministic convenience sampling for reviewing data or making repeatable test subsets. It is not cryptographic randomness or a certified experimental allocation method. CSV strings are preserved in the preview; default formula protection changes flagged exported strings with an apostrophe prefix.\nTry a small example\nid,name\n001,Ana\n002,Bea\n003,Cam\n004,Dan\n005,Eli",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "CSV row filter",
      "url": "https://happytails.ai/en/data-tools/csv-row-filter/"
    },
    {
      "name": "CSV formula injection checker",
      "url": "https://happytails.ai/en/data-tools/csv-formula-injection-checker/"
    },
    {
      "name": "Dataset value mapper",
      "url": "https://happytails.ai/en/data-tools/dataset-value-mapper/"
    },
    {
      "name": "CSV to JSON",
      "url": "https://happytails.ai/en/data-tools/csv-to-json/"
    }
  ],
  "tool": {
    "id": "csv-deterministic-sampler",
    "category": "data-tools",
    "built": true,
    "requirements": "Paste CSV, choose a whole-number sample size and enter a seed. Identical input, size and seed produce the same selected records. Changing the input order changes the sample. Records are sampled without replacement and exported in their original source order. The added source-record column identifies the original one-based data-record position, excluding the header. A quoted multiline record counts once. Choose an unused name for this column. Download the sample and the JSON report, which records the seed and the versioned sampling algorithm. This is deterministic convenience sampling for reviewing data or making repeatable test subsets. It is not cryptographic randomness or a certified experimental allocation method. CSV strings are preserved in the preview; default formula protection changes flagged exported strings with an apostrophe prefix.",
    "implementation": {
      "fields": [
        {
          "key": "delimiter",
          "label": "Input CSV separator",
          "value": ",",
          "type": "select",
          "values": [
            ",",
            ";",
            "\t"
          ]
        },
        {
          "key": "size",
          "label": "Sample records",
          "value": 5,
          "type": "number",
          "min": 1,
          "max": 10000,
          "step": 1
        },
        {
          "key": "seed",
          "label": "Reproducible seed",
          "value": "happytails",
          "type": "text"
        },
        {
          "key": "sourceColumn",
          "label": "Added source-record column",
          "value": "_source_row",
          "type": "text"
        },
        {
          "key": "exportMode",
          "label": "Spreadsheet formula handling",
          "value": "Protect formulas",
          "type": "select",
          "values": [
            "Protect formulas",
            "Preserve original cells"
          ]
        }
      ],
      "live": true,
      "presentation": "metrics",
      "note": "Sample records without replacement and retain source order. Identical input, seed and sample size reproduce the same output. The report identifies the versioned algorithm. This is not cryptographic randomness or certified study allocation. Use a header row with unique column names. Up to 1,000,000 input characters, 10,000 data records, 100 columns and 100,000 cells. Strings and spaces are preserved. Output CSV uses commas and quotes every cell. Protect formulas prefixes risky output cells with an apostrophe; choose Preserve original cells only for trusted machine processing. Runs on your device.",
      "experience": {
        "automatic": true,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "CSV",
        "placeholder": "name,score\nAda,98\nSam,92",
        "help": "Include a header row. Quote cells that contain commas or new lines. Results update as you type. Up to 1,000,000 characters.",
        "action": null
      },
      "mode": "automatic",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# CSV deterministic sampler\n\n- Human page: https://happytails.ai/en/data-tools/csv-deterministic-sampler/\n- Markdown: https://happytails.ai/en/data-tools/csv-deterministic-sampler.md\n- Structured JSON: https://happytails.ai/agents/en/data-tools/csv-deterministic-sampler/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `csv-deterministic-sampler` |\n| Category | data-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Automatic updates after valid input or file selection. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nSample records without replacement and retain source order. Identical input, seed and sample size reproduce the same output. The report identifies the versioned algorithm. This is not cryptographic randomness or certified study allocation. Use a header row with unique column names. Up to 1,000,000 input characters, 10,000 data records, 100 columns and 100,000 cells. Strings and spaces are preserved. Output CSV uses commas and quotes every cell. Protect formulas prefixes risky output cells with an apostrophe; choose Preserve original cells only for trusted machine processing. Runs on your device.\n\n### Inputs and settings\n\nText input: CSV.\n\nExample or placeholder shown in the interface (not a validated fixture):\n\n```text\nname,score\nAda,98\nSam,92\n```\n\nInclude a header row. Quote cells that contain commas or new lines. Results update as you type. Up to 1,000,000 characters.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `delimiter` | Input CSV separator | select | \",\" | Allowed: ,, ;, \t |\n| `size` | Sample records | number | 5 | min=1 max=10000 step=1 |\n| `seed` | Reproducible seed | text | \"happytails\" |  |\n| `sourceColumn` | Added source-record column | text | \"_source_row\" |  |\n| `exportMode` | Spreadsheet formula handling | select | \"Protect formulas\" | Allowed: Protect formulas, Preserve original cells |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nPaste CSV, choose a whole-number sample size and enter a seed. Identical input, size and seed produce the same selected records. Changing the input order changes the sample. Records are sampled without replacement and exported in their original source order. The added source-record column identifies the original one-based data-record position, excluding the header. A quoted multiline record counts once. Choose an unused name for this column. Download the sample and the JSON report, which records the seed and the versioned sampling algorithm. This is deterministic convenience sampling for reviewing data or making repeatable test subsets. It is not cryptographic randomness or a certified experimental allocation method. CSV strings are preserved in the preview; default formula protection changes flagged exported strings with an apostrophe prefix.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"csv-deterministic-sampler\",\n  \"category\": \"data-tools\",\n  \"built\": true,\n  \"requirements\": \"Paste CSV, choose a whole-number sample size and enter a seed. Identical input, size and seed produce the same selected records. Changing the input order changes the sample. Records are sampled without replacement and exported in their original source order. The added source-record column identifies the original one-based data-record position, excluding the header. A quoted multiline record counts once. Choose an unused name for this column. Download the sample and the JSON report, which records the seed and the versioned sampling algorithm. This is deterministic convenience sampling for reviewing data or making repeatable test subsets. It is not cryptographic randomness or a certified experimental allocation method. CSV strings are preserved in the preview; default formula protection changes flagged exported strings with an apostrophe prefix.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"delimiter\",\n        \"label\": \"Input CSV separator\",\n        \"value\": \",\",\n        \"type\": \"select\",\n        \"values\": [\n          \",\",\n          \";\",\n          \"\\t\"\n        ]\n      },\n      {\n        \"key\": \"size\",\n        \"label\": \"Sample records\",\n        \"value\": 5,\n        \"type\": \"number\",\n        \"min\": 1,\n        \"max\": 10000,\n        \"step\": 1\n      },\n      {\n        \"key\": \"seed\",\n        \"label\": \"Reproducible seed\",\n        \"value\": \"happytails\",\n        \"type\": \"text\"\n      },\n      {\n        \"key\": \"sourceColumn\",\n        \"label\": \"Added source-record column\",\n        \"value\": \"_source_row\",\n        \"type\": \"text\"\n      },\n      {\n        \"key\": \"exportMode\",\n        \"label\": \"Spreadsheet formula handling\",\n        \"value\": \"Protect formulas\",\n        \"type\": \"select\",\n        \"values\": [\n          \"Protect formulas\",\n          \"Preserve original cells\"\n        ]\n      }\n    ],\n    \"live\": true,\n    \"presentation\": \"metrics\",\n    \"note\": \"Sample records without replacement and retain source order. Identical input, seed and sample size reproduce the same output. The report identifies the versioned algorithm. This is not cryptographic randomness or certified study allocation. Use a header row with unique column names. Up to 1,000,000 input characters, 10,000 data records, 100 columns and 100,000 cells. Strings and spaces are preserved. Output CSV uses commas and quotes every cell. Protect formulas prefixes risky output cells with an apostrophe; choose Preserve original cells only for trusted machine processing. Runs on your device.\",\n    \"experience\": {\n      \"automatic\": true,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"CSV\",\n      \"placeholder\": \"name,score\\nAda,98\\nSam,92\",\n      \"help\": \"Include a header row. Quote cells that contain commas or new lines. Results update as you type. Up to 1,000,000 characters.\",\n      \"action\": null\n    },\n    \"mode\": \"automatic\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nCreate a repeatable sample of CSV records using a seed. Sample without replacement and retain each record's source number.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use CSV deterministic sampler\n\n1. Paste the CSV and choose a sample size no larger than the input record count.\n2. Enter a seed and an unused source-record column name.\n3. Review the selected records, then download the sample and processing report.\n\n## Useful next steps\n\n- [CSV row filter](https://happytails.ai/en/data-tools/csv-row-filter/) ([Markdown](https://happytails.ai/en/data-tools/csv-row-filter.md))\n\n- [CSV formula injection checker](https://happytails.ai/en/data-tools/csv-formula-injection-checker/) ([Markdown](https://happytails.ai/en/data-tools/csv-formula-injection-checker.md))\n\n- [Dataset value mapper](https://happytails.ai/en/data-tools/dataset-value-mapper/) ([Markdown](https://happytails.ai/en/data-tools/dataset-value-mapper.md))\n\n- [CSV to JSON](https://happytails.ai/en/data-tools/csv-to-json/) ([Markdown](https://happytails.ai/en/data-tools/csv-to-json.md))\n\n## What to expect\n\nCreate a repeatable sample of CSV records using a seed. Sample without replacement and retain each record's source number. Paste CSV, choose a whole-number sample size and enter a seed. Identical input, size and seed produce the same selected records. Changing the input order changes the sample. Records are sampled without replacement and exported in their original source order. The added source-record column identifies the original one-based data-record position, excluding the header. A quoted multiline record counts once. Choose an unused name for this column. Download the sample and the JSON report, which records the seed and the versioned sampling algorithm. This is deterministic convenience sampling for reviewing data or making repeatable test subsets. It is not cryptographic randomness or a certified experimental allocation method. CSV strings are preserved in the preview; default formula protection changes flagged exported strings with an apostrophe prefix.\n\n### Try a small example\n\n```\nid,name\n001,Ana\n002,Bea\n003,Cam\n004,Dan\n005,Eli\n```\n"
}