1. Decide what may change.

Keep an untouched copy before opening or editing the file. A SKU such as 00124 identifies a product; it is not an arithmetic quantity. A price string such as 10.00 also carries formatting that a receiving system may expect.

For a limited cleanup, allow surrounding whitespace to be removed from ordinary text, such as a product name. Preserve identifier and price fields exactly, including their existing spaces. If a field’s purpose is unclear, resolve that before changing it. Avoid blanket trimming, number conversion or deduplication across the whole file.

2. Make the change visible.

This invented row contains one intended edit. Quotes below expose the spaces; they are not additional content.

One row, one changed cell
FieldBeforeAfter
sku"00124""00124"
name" Blue mug ""Blue mug"
price"10.00""10.00"

A change log should identify the source row, field, original value, replacement and reason. Keep unchanged rows, including empty records with the expected column count. A malformed row needs investigation, not silent removal.

Download the three-row sample ZIP →
Original and formatted CSVs, a change log and automated check results. Invented data; not a customer delivery or an AI-reviewed sample.

3. Protect strings when importing into Excel.

Opening a CSV directly can let Excel interpret values before you inspect them. In supported versions, use Data → From Text/CSV, open the query editor and set identifier and price columns to Text before loading. Replace any automatic type conversion for those columns.

Formatting a number later cannot recover zeroes or digits already discarded. If 00124 has become 124, return to the untouched source. Do not guess how many zeroes belonged there. Microsoft explains these conversions and the text-import workflow in Keeping leading zeros and large numbers.

4. Formula-like cells need a separate decision.

Spreadsheet software may interpret a cell beginning with =, +, - or @ as a formula. Locale-dependent handling can also affect full-width versions of these characters. Treat imported content as data, not instructions.

CatalogOps records protective prefixes applied to ordinary text. When protection would alter an identifier or price, delivery is held for clarification rather than silently changing that field. A prefix is not a universal guarantee: saving and reopening a file in another spreadsheet can change its interpretation. Review the intended import workflow, as explained in OWASP’s CSV Injection guidance.

5. Verify the complete file.

Compare the headers, column order and number of data records. Check identifier and price strings row by row. Every other change should match the agreed cleanup and appear in the log. Review the output before importing it into a live catalogue; a clean-looking preview does not prove the full file is correct.

Comparing two exports after a migration instead? The ExportCheck migration-validation guide covers keys, tolerances and differences between files.

Need this done for one small file?

One CSV. A traceable cleanup.

CatalogOps starts at $15 USD for one UTF-8 CSV: up to 100 data rows, 20 columns and 20 KB, with 2-day delivery and one revision within scope. No XLSX, merging, duplicate removal or direct store updates.

Processing is AI-assisted and requires your permission. Supply only non-sensitive, non-personal data you are authorised to share. Order, pay and receive delivery through the marketplace; check its final fees, availability and deadline.

See the scope and order options →