{
  "slug": "csv-formula-eval",
  "name": "gizza-ai/csv-formula-eval",
  "version": "0.1.0",
  "title": "CSV Formula Eval — Add Computed Columns Online — gizza.ai",
  "description": "Add or transform CSV columns with spreadsheet-style formulas (e.g. total = price * qty) — runs in your browser. Free, private, no upload.",
  "tags": [
    "csv formula",
    "computed column",
    "csv calculate",
    "spreadsheet formula",
    "transform csv"
  ],
  "category": "data",
  "urls": {
    "page": "https://gizza.ai/tools/csv-formula-eval/",
    "markdown": "https://gizza.ai/tools/csv-formula-eval/index.md",
    "descriptor": "https://gizza.ai/tools/csv-formula-eval/tool.json",
    "deep_link_example": "https://gizza.ai/tools/csv-formula-eval/?data=price%2Cqty%0A10%2C3%0A5%2C4&formulas=total%20%3D%20price%20%2A%20qty&delimiter=%2C"
  },
  "cli": "gizza tool csv-formula-eval \"price,qty\n10,3\n5,4\" 'formulas=total = price * qty'",
  "tool": {
    "description": "Evaluate spreadsheet-style arithmetic formulas to add or transform CSV columns. `formulas` is one or more '<column> = <expression>' (separated by ';' or newlines); expressions reference other columns by header name and support + - * / %, ^, parentheses, and functions (sqrt, abs, min, max, round, etc.). A target naming an existing column replaces it; a new name appends one. Formulas run left-to-right. Non-numeric cells make a referencing formula blank for that row. First row must be a header with identifier-like column names.",
    "parameters": {
      "additionalProperties": false,
      "properties": {
        "data": {
          "description": "The CSV text (first row is a header).",
          "type": "string"
        },
        "delimiter": {
          "default": ",",
          "description": "Field separator: a single char or 'comma'/'tab'/'semicolon'/'pipe'. Default ','.",
          "type": "string"
        },
        "formulas": {
          "description": "One or more '<column> = <expression>' formulas, separated by ';' or newlines. Expressions reference other columns by their (identifier-like) header name and support + - * / %, ^, parentheses, and functions like sqrt/abs/min/max/round. A target naming an existing column replaces it; a new name appends a column. Formulas run left-to-right so later ones can use earlier results.",
          "type": "string"
        }
      },
      "required": [
        "data",
        "formulas"
      ],
      "type": "object"
    }
  }
}