# Clean data as a base for dirty data

**URL:** <https://forum.openrefine.org/t/clean-data-as-a-base-for-dirty-data/742>\
**Category:** Data cleaning and transformations\
**Created:** [April 30, 2023, 3:53am UTC](https://forum.openrefine.org/t/clean-data-as-a-base-for-dirty-data/742 "2023-04-30T03:53:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![stoickov](https://avatars.discourse-cdn.com/v4/letter/s/59ef9b/32.png) [@stoickov](https://forum.openrefine.org/u/stoickov)\
**Post date:** [April 30, 2023, 3:53am UTC](https://forum.openrefine.org/t/clean-data-as-a-base-for-dirty-data/742/1 "2023-04-30T03:53:22Z")

</div>

I have a basic question about cleaning data.  
I’d like to use my list of correct product names to clean a data set, which includes a product name column with many typos and other errors, but also some completely new products, which I’d like to add to my list at the end ot the process.

Ideally, I would build a facets JSON file with the growing “from” lists for each my “to” item.

Open Refine 3.7.2

---

<div class="post-metadata">

**Author:** ![Lydiaofficial](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/lydiaofficial/32/320_2.png) [@Lydiaofficial](https://forum.openrefine.org/u/Lydiaofficial)\
**Post date:** [April 30, 2023, 8:21am UTC](https://forum.openrefine.org/t/clean-data-as-a-base-for-dirty-data/742/2 "2023-04-30T08:21:57Z")

</div>

I think you can create a new column where you will apply the cleaning. Then, you can use the “Edit cells” → “Common transforms” → “Replace” function to replace the incorrect product names with the correct ones. You can use regular expressions to match variations of the same product name.

---

<div class="post-metadata">

**Author:** ![stoickov](https://avatars.discourse-cdn.com/v4/letter/s/59ef9b/32.png) [@stoickov](https://forum.openrefine.org/u/stoickov)\
**Post date:** [April 30, 2023, 1:50pm UTC](https://forum.openrefine.org/t/clean-data-as-a-base-for-dirty-data/742/3 "2023-04-30T13:50:57Z")

</div>

Isn’t a reconcile feature good for this?

---

<div class="post-metadata">

**Author:** ![Lydiaofficial](https://dub1.discourse-cdn.com/flex017/user_avatar/forum.openrefine.org/lydiaofficial/32/320_2.png) [@Lydiaofficial](https://forum.openrefine.org/u/Lydiaofficial)\
**Post date:** [April 30, 2023, 3:43pm UTC](https://forum.openrefine.org/t/clean-data-as-a-base-for-dirty-data/742/4 "2023-04-30T15:43:00Z")

</div>

The reconciliation feature works fine too but you would still need to create a new column in your data set where you will apply the reconciliation.

Then, you can use the “Edit cells” → “Reconcile” function to match the values in your data set

However, whatever approach you use generally depends on the specific needs of your project
