Skip to content

Data Cleaning After Scraping: 10 Techniques

Ten concrete techniques for cleaning scraped data: spaces, numbers, prices, dates, duplicates, filters, replacements, formulas, splitting and merging columns.

October 27, 2026 · 7 min read

Collecting the data is half the job. The other half is making it usable: prices that add up, dates that sort, and no company appearing three times. Here are 10 techniques. For each: how to do it in Grabsavo before export, and how to do it with a formula in Excel or Google Sheets if the data is already in a spreadsheet.

On formulas: the examples use commas as argument separators (English locale); some locales use semicolons. UNIQUE and FILTER are available in Excel 365, Excel 2021 and later, and Google Sheets; TEXTSPLIT in Excel 365 and newer versions.

1. Remove extra spaces

Problem. " Bosch TWK 3A011 " and "Bosch TWK 3A011" are different values to a spreadsheet. Sorting, lookups and deduplication go wrong. The non-breaking space (character 160) is especially sneaky: it looks normal, but TRIM leaves it alone.

In Grabsavo: the "Trim extra spaces" step.

Excel and Google Sheets:

=TRIM(SUBSTITUTE(A2, CHAR(160), " "))

2. Turn numbers into numbers

Problem. 1,299.00, 1 299,00, 1299 are the same number, but the spreadsheet sees text. SUM returns 0 and sorting is alphabetical.

In Grabsavo: the "normalize numbers" step, or change the column type to number.

Excel — NUMBERVALUE with explicit separators:

=NUMBERVALUE(A2, ".", ",")

The second argument is the decimal separator, the third the group separator. For European-style 1 299,00, use "," and " ".

Google Sheets:

=VALUE(REGEXREPLACE(A2, "[^0-9.]", ""))

This keeps only digits and the decimal point.

3. Split a price into number and currency

Problem. $1,299.00, from €99, 1 299 ₽ — one column mixes number, currency and words.

In Grabsavo: the "price → number + currency" step turns one column into two.

Google Sheets — the currency on its own:

=REGEXEXTRACT(A2, "\$|€|£|₽|USD|EUR")

The number comes from technique 2. Watch out for "from": "from $99" is a lower bound, not the item's price. Flag such rows in a separate column rather than mixing them with exact prices.

4. Convert dates to YYYY-MM-DD

Problem. 10/27/2026, 27 October 2026, yesterday — you cannot sort or filter on these.

In Grabsavo: the "Dates → YYYY-MM-DD" step. 2026-10-27 sorts correctly even as text and reads the same in every country.

Excel — for MM/DD/YYYY text that Excel did not recognise:

=DATE(RIGHT(A2, 4), LEFT(A2, 2), MID(A2, 4, 2))

Then format the cell as yyyy-mm-dd.

Google Sheets:

=TEXT(DATE(RIGHT(A2, 4), LEFT(A2, 2), MID(A2, 4, 2)), "yyyy-mm-dd")

Relative dates ("yesterday", "3 days ago") cannot be fixed reliably with a formula — record the collection date next to them and compute from it.

5. Remove duplicates by key

Problem. A product in two categories, a company with three branches, repeats from infinite scroll.

In Grabsavo: set a key column — duplicates by it are removed during the run, and there is also a separate cleaning step. The quality report shows how many rows were removed.

Pick a key that uniquely identifies the item: the item URL, SKU or registration number. A name is a poor key — different products can share a name.

Excel: Data → Remove Duplicates, ticking only the key column. Or a formula for the unique values of a column:

=UNIQUE(A2:A500)

Google Sheets: Data → Data cleanup → Remove duplicates, or the same UNIQUE.

6. Filter out rows you do not need

Problem. Ads slipped into the selection, items without a price, "out of stock" products.

In Grabsavo: the row filter step with conditions like "contains", "greater than", "empty" and others. For example: keep rows where Price is greater than 0 and Availability does not contain "out".

Excel 365 and Google Sheets:

=FILTER(A2:D500, (C2:C500 > 0) * (D2:D500 <> "Out of stock"))

Multiplying conditions works as AND.

7. Replace text — plain or with a regex

Problem. Prefixes and noise: SKU: 12345, Brand: Bosch, phone numbers in ten formats.

In Grabsavo: the "replace text" step. Plain: SKU: → nothing. Regex: [^0-9+] → nothing keeps only digits and the plus sign in a phone number.

Google Sheets:

=REGEXREPLACE(A2, "^SKU:\s*", "")

Excel: SUBSTITUTE for simple cases and Ctrl+H (Find and Replace) for bulk changes. Regex functions arrived only in recent Excel 365 builds, so for compatibility SUBSTITUTE is the usual choice.

8. Add a computed column

Problem. You need a value that is not on the page: a discount, a marked-up price, a full model name.

In Grabsavo: a computed column with a simple formula. Column references go in curly braces:

{Price} * 2
({Old price} - {Price}) / {Old price} * 100

Excel and Google Sheets: an ordinary formula such as =(B2 - C2) / B2 with percentage formatting.

The advantage in Grabsavo is that the computed column is recalculated on every later run of the template, with nothing to fill down.

9. Split a column

Problem. London, 221B Baker Street in one cell when you need the city on its own. Or Bosch / TWK 3A011 — brand and model separated by a slash.

In Grabsavo: the "split column" step by a separator.

Excel 365:

=TEXTSPLIT(A2, ", ")

In older versions use Data → Text to Columns.

Google Sheets:

=SPLIT(A2, ",")

SPLIT spills into the neighbouring columns, so keep them empty.

10. Merge columns

Problem. Brand and model are in separate columns, but matching against your catalog needs a single key.

In Grabsavo: the "merge columns" step or a computed column:

concat({Brand}, " ", {Model})

Excel and Google Sheets:

=TEXTJOIN(" ", TRUE, A2, B2)

The TRUE argument skips empty cells, so you get no double spaces.

Bonus: save the steps

Cleaning you have to redo by hand after every run will eventually be skipped. In Grabsavo, cleaning steps are saved and re-applied on the next run, and in a template (Pro) they travel with the site's setup. If you clean in a spreadsheet, keep raw data on one sheet and formulas on another, so a new run only needs pasting into the first sheet.

Before exporting, glance at the quality report: columns with many empty values often mean the field sits somewhere else on some cards. Cleaning will not fix that — adjust the selection instead.

Try it

Collect data from the demo catalog and work through all 10 techniques on a real sample. Install Grabsavo from /install. Basic cleaning is included in the free version.

Sources