Metaworld Data Cleaner
Pricing
from $2.00 / 1,000 results
Metaworld Data Cleaner
Messy CSV in — validated, deduplicated, typed records out, with a data-quality report naming every rejected row and why.
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
Metaworld Systems
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
0
Monthly active users
3 hours ago
Last modified
Categories
Share
Messy CSV in → validated, deduplicated, typed records out — with a data-quality report that names every rejected row and why.
Small-business data is never clean. This Actor is the boring, reliable step you actually want before anything touches your CRM, ledger, or dashboard: it validates, normalizes, and deduplicates a CSV, then hands you a clean dataset plus a report you can show a stakeholder.
Built and maintained by Metaworld Systems.
What it does
- Normalizes every field — trims whitespace, strips control characters, and standardizes dates (
YYYY-MM-DD), phone numbers ((727) 450-9666), and currency (1234.50) based on the column name. - Validates rows against required columns you choose — anything missing a required value is rejected, not silently dropped.
- Deduplicates on a key column, with optional latest-wins survivorship using a timestamp column.
- Reports — a quality report is written to the key-value store (
QUALITY_REPORT) listing row counts and every rejected row with the reason.
Input
| Field | Description |
|---|---|
csvUrl | Public URL of a CSV to clean. |
csvText | Or paste raw CSV (with a header row). |
requiredColumns | Rows missing any of these are rejected. |
dedupeKey | Column used to detect duplicates (optional). |
timestampColumn | When deduping, keep the newest row by this column. |
Provide either csvUrl or csvText.
Output
- Dataset — one item per cleaned, validated, deduplicated row (export as CSV, JSON, or Excel).
- Key-value store
QUALITY_REPORT—rows_in,rows_cleaned,rows_rejected, and the full list of rejected rows with reasons.
Example
Input csvText:
order_id,customer,order_date,amount,phone1001, Acme Co ,2026-1-3,$1,299.00,72745096661001,Acme Co,01/03/2026,1299,(727) 450-96661002,,2026-02-15,89.5,555 123 4567
With requiredColumns=["order_id","customer"], dedupeKey="order_id", timestampColumn="order_date":
- Row 1002 is rejected (missing
customer). - The two
1001rows collapse to one (latest-wins). - Dates become
2026-01-03, amount becomes1299.00, phone becomes(727) 450-9666.
Why this one
We don't sell you the happy path. The value is the report that tells you exactly which rows failed and why — so you fix your data instead of finding out downstream. Same pattern we run in production for our own operations.
All processing happens inside the Actor run; nothing is stored or shared beyond your run's own storages.