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 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.
The Excel import walkthrough 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 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 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.
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 to choose the right delivery format. Microsoft's file-format reference 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 for the relevant listing type.
- Skip recently exported listings using the extension's duplicate-prevention history. This does not inspect your existing files.
- Remove entirely empty columns when you want a compact file. Leave that setting off when every export must have the same column structure.
- Preview and select properties 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.