---
title: "How to Clean a Real Estate CSV in Excel"
description: "Check duplicate properties, preserve ZIP codes, standardize columns, and handle missing values when preparing a real estate CSV for analysis."
canonical: "https://www.propertydatalabs.com/blog/clean-real-estate-csv"
publishedAt: "2026-11-09"
lastModified: "2026-11-09"
---

# How to Clean a Real Estate CSV in Excel

A real estate CSV is ready to use when you can explain what each row represents, identify repeated
properties, and trust that import settings have not changed the values. Cleaning the file means
checking those details before you combine searches or calculate a summary.

This guide uses Excel to clean a file you already have. PropertyDataLabs has settings that prepare
new exports, but it does not provide an upload-and-clean CSV tool. Start with the
[Zillow-to-Excel guide](/blog/how-to-pull-data-from-zillow-to-excel) if you still need the source file.

## 1. Keep the original and define one row

Save an unchanged copy of every download. In your working file, record which search produced it and
when you exported it. Add your own **Source file** and **Exported at** columns if that information is
not already present; these are research labels you maintain, not guaranteed export fields.

Decide whether each row represents a property, an available rental unit, or a property captured on a
particular date. A property appearing on two different dates can be useful history. Two rental units
in the same building can be separate records. Neither should be deleted merely because the address
looks similar.

## 2. Preserve ZIP codes and property identifiers

Import ZIP codes, listing identifiers, and phone-number columns as **Text** before loading them into
the worksheet. Check a leading-zero value such as `02108` against the original file. If Excel has
already changed it, import again from the original with the correct type rather than guessing the
missing characters. See Microsoft's [leading-zero guidance](https://support.microsoft.com/en-us/excel/keeping-leading-zeros-and-large-numbers).

The [Excel import walkthrough](/blog/how-to-pull-data-from-zillow-to-excel#open-a-csv-in-excel-without-losing-identifiers)
covers the file preview and delimiter. Check several rows after importing, including addresses with
commas and records with blank fields, to make sure values stayed in the intended columns.

## 3. Standardize the columns you will combine

Use the same names and units across files. Keep asking price, monthly rent, and sold price
distinguishable. Keep the living-area unit beside the area value, and include the listing type when
combining different kinds of searches.

When an export is missing a column that exists in another file, add the column with blank values
before combining them. Do not shift values sideways to make a row fit. Compare the
[field references](/blog/export-zillow-listings#check-the-columns-and-sample-files) when different
export methods produce different sets of columns.

## 4. Review duplicate candidates before deleting rows

Use a property identifier or property URL when available, with listing type and capture date when
those distinctions matter. Addresses alone can miss spelling differences or merge separate units.
Set rows without a reliable identity aside for review instead of treating every blank ID as one
property.

In desktop Excel, select the whole table, then **Data → Remove Duplicates**. Choose the columns that
define a repeated record and review the result on your working copy. Excel keeps the first occurrence
and removes matching rows, including their other column values. If matches contain different notes
or prices, review them first. Microsoft's [duplicate-removal guide](https://support.microsoft.com/en-us/excel/get-started/filter-for-unique-values-or-remove-duplicate-values)
also explains how to highlight or filter candidates before removal.

### A small worked example

These fictional rows show why one duplicate rule does not fit every file. **Property key** and
**Captured at** are illustrative research columns.

| Property key | Listing type | Captured at | ZIP   | Price  | Research note     |
| ------------ | ------------ | ----------- | ----- | ------ | ----------------- |
| example-A    | For sale     | 2026-11-01  | 02108 | 450000 | Check living area |
| example-A    | For sale     | 2026-11-01  | 02108 | 450000 | Check living area |
| example-A    | For sale     | 2026-11-08  | 02108 | 440000 | Revisit source    |
| example-B    | For sale     | 2026-11-08  | 02109 | —      | Price unavailable |

For a history table, the first two rows repeat the same capture. Keep one and retain the later
capture of example-A. For a current research list, you might deliberately keep only the most recent
capture of each property, while storing older captures elsewhere. Review the dates and row order
before deleting anything; the duplicate-removal command does not choose your research policy.

The dash for example-B means the value is missing. It should remain blank in a numeric price column,
not become `0`. After removing the exact repeated capture, this history table has three rows.

## 5. Check numbers, dates, and missing values

Check that the values you intend to calculate with are numeric, that units match, and that dates
correspond to their labels. A current asking price and a prior sold price answer different questions.
For sold-property timing fields, read the
[field lifecycle reference](/docs/data-and-integrations/exported-field-lifecycle).

Keep valid zeroes. Keep unavailable values blank. If a calculation uses only rows with a known value,
record how many rows were included and how many were missing. An empty field can reflect the source
or export method; cleaning a CSV cannot retrieve the missing property data.

## 6. Save the cleaned version and check the result

Keep a separate working workbook for your notes, formulas, and review sheets. Create a CSV copy when
another system needs it. Use the [CSV versus Excel comparison](/blog/what-is-the-difference-between-excel-and-csv-formats)
to choose the right delivery format. Microsoft's
[file-format reference](https://support.microsoft.com/en-us/excel/file-formats-that-are-supported-in-excel)
confirms that CSV saves only the active worksheet and does not retain workbook formatting.

Before sharing, compare the original and final row counts. Explain every removed group, check a few
remaining property URLs, and confirm that identifiers still match the source. Record the cleanup
rule beside the output so another person can reproduce it.

## Prepare cleaner exports next time

On Basic or higher, PropertyDataLabs can help reduce repeated preparation:

* [Choose and order columns](/blog/how-to-customize-your-export-settings) for the relevant listing type.
* [Skip recently exported listings](/blog/remove-duplicate-listings-from-your-property-listings-export)
  using the extension's duplicate-prevention history. This does not inspect your existing files.
* [Remove entirely empty columns](/blog/remove-empty-columns-from-your-exported-files) when you want
  a compact file. Leave that setting off when every export must have the same column structure.
* [Preview and select properties](/blog/zillow-property-shortlist-to-excel) before downloading a
  smaller research list with your own notes and tags.

These controls prepare new exports. Keep the file-level checks when you combine files from different
searches, dates, or sources.