Get startedGet started for free

Transforming text data

You notice product names in your grocery inventory database have inconsistent formats. Some have parentheses like "Apple (Organic)", extra spaces, and mixed capitalization. This makes it hard to match and analyze products accurately. Standardize these names by removing parenthetical descriptions, cleaning up surrounding spaces, and converting to lowercase.

This exercise is part of the course

Cleaning Data in Java

View Course

Exercise instructions

  • Map product names through cleaning operations.
  • Remove parentheses from each name.
  • Remove surrounding space from each name.
  • Convert each name to lowercase.

Hands-on interactive exercise

Have a go at this exercise by completing this sample code.

import tech.tablesaw.api.StringColumn;
import tech.tablesaw.api.Table;

public class GroceryDataTransformation {
    public static void main(String[] args) {
        Table inventory = Table.read().csv("grocery_inventory.csv");

        StringColumn names = inventory.stringColumn("Product_Name");
        StringColumn standardizedNames =
            // Map product names through cleaning operations
            ____.____(
                // Remove parentheses
                t -> t.____("\\(.*\\)", "")
                      // Remove surrounding space
                      .____()
                      // Convert to lowercase
                      .____())
            .setName("Standardized_Names");

        System.out.println("Example name before cleaning: " + names.get(84));
        System.out.println("Example name after cleaning: " + standardizedNames.get(84));
    }
}
Edit and Run Code