WooCommerce product CSV cleanup

A WooCommerce product CSV (Products → Export) with SKU, Regular price and Sale price columns, before you import it again.

Processed locally in your browser. File contents are not uploaded. No account needed.

Before and after

Made-up rows from the sample file, run through the same code Rote Workspace runs, when this page was built. Removed rows are struck through; changed cells are highlighted — point at one for its old value.

Data Workspacewoocommerce-products.csv6 rows · 7 columns · UTF-8 Processed locally

Original

Before: the sample file
RowSKUNameRegular priceSale price
2esp-bar-01Espresso Machine$1,299.00$1,149.00
3GRN-BURRBurr Grinder$189.00$159.00
4milk-jug (has spaces at its edges)Milk Frothing Jug$24.00$19.50
5 (removed)
6 (removed)ESP-BAR-01Espresso Machine (copy)$1,299.00$1,149.00
7TAMP-5858 mm Tamper (has spaces at its edges)$39.00$34.00

Result

After: WooCommerce product CSV cleanup
RowSKUNameRegular priceSale price
2ESP-BAR-01 (changed)Espresso Machine1299.00 (changed)1149.00 (changed)
3GRN-BURRBurr Grinder189.00 (changed)159.00 (changed)
4MILK-JUG (changed)Milk Frothing Jug24.00 (changed)19.50 (changed)
7TAMP-5858 mm Tamper (changed)39.00 (changed)34.00 (changed)

4 rows × 7 columns after the fixes · was 6 × 7 · 14 cells changed

3 more columns are not shown; they pass through unchanged.

· marks a space at the start or end of a value. The dots are not in the data; they show spaces you would otherwise not see.

What it does

  1. Remove empty rowsOn the sample: 1 row removed
  2. Trim spaces in every columnOn the sample: 2 cells changed
  3. UPPER-case "SKU"On the sample: 2 cells changed
  4. Read "Regular price", "Sale price" as numbers (decimal mark: dot, 1,234.56); values that are not numbers are left as they areOn the sample: 10 cells changed
  5. Remove duplicates: rows with the same "SKU" (blank keys never match), keeping the first of each groupOn the sample: 1 row removed

Your file needs these columns, spelled exactly: SKU, Regular price, Sale price. If one is missing or renamed, the workflow tells you which step it breaks and does not run.

How to use it

  1. Download the workflow

    A small .json file with the steps above — no data. Want to try it first? Use the sample file (made-up rows).

  2. Open your export

    In the Data Workspace, choose your file. It is processed in your browser, not uploaded.

  3. Import, review, run

    Workflow → Import, choose the file — or skip the download: under Workflow → Templates, press Check & open. Each step is checked against your columns; press Run on this file, then Download.