Web Table Data Is Dirty: 5 Cleaning Steps Before You Analyze It

Data copied from a web page is almost never analysis-ready. Before you build a pivot table or chart on top of it, run through this checklist.

1. Numbers stored as text

The #1 silent killer. $1,234.56, 1.234,56 € or 12 % all arrive as strings, so sums and averages quietly return 0 or errors.

Fix: strip currency symbols and thousands separators, normalize the decimal separator to your locale, then convert the column to a numeric type.

2. Merged and multi-row headers

Web tables love two-level headers ("Q1 — Revenue / Growth"). Spreadsheets need exactly one header row.

Fix: flatten to a single row (Q1 Revenue, Q1 Growth) before importing.

3. Empty and decorative rows

Spacer rows, section separators and "Total" rows mixed into the data will corrupt any aggregation.

Fix: delete empty rows; move totals out of the data range (recalculate them yourself — site totals are often stale).

4. Footnote markers

That 1,234¹ superscript makes the whole cell text. Same for *, and trailing footnote letters.

Fix: strip non-numeric suffixes from numeric columns.

5. Hidden characters

Non-breaking spaces ( ), zero-width spaces and BOM characters look invisible but break VLOOKUP and joins.

Fix: run a trim + replace pass on every text column.

Automate it

Doing these five steps by hand for every table gets old fast. This is exactly what TableGrab automates at extraction time: when you export a table to CSV, XLSX or Google Sheets, it detects headers, drops empty rows, strips footnote markers and types numeric columns correctly — so the data lands analysis-ready. Free for 5 exports a day.

← Back to blog