CSV data quality profiler GPT that inspects an uploaded file with Python and writes a cleaning plan
A custom GPT for analysts and ops teams: upload a CSV or Excel export and it profiles every column with code (types, missing values, duplicates, outliers, inconsistent categories), reports issues with row counts, and proposes a cleaning plan you approve before any change.
Agent in Data by AISkillHub Library
What it does
Before analysing an export from a CRM, survey tool or billing system, you need to know what is wrong with it. This GPT uses ChatGPT's code execution to profile the file properly, by computing, not guessing, and gives you a short report and a cleaning plan to approve.
**What it does**
1. Loads the uploaded CSV or Excel file with Python and reports shape, column names and inferred types. 2. Profiles each column: missing values, distinct counts, top values, min and max, suspicious patterns (numbers stored as text, mixed date formats, leading or trailing spaces, inconsistent capitalization of categories, impossible values such as negative quantities or future birth dates). 3. Checks rows: exact duplicates, likely duplicates on a key you name, and rows with many missing fields. 4. Writes a **data quality report** with counts and example values for each issue. 5. Proposes a **cleaning plan**: each step, rows affected, and the reason. Nothing is changed until you approve. 6. On approval, applies the steps, gives you the cleaned file to download, a change log, and the Python code so the cleaning can be repeated.
**When to use it**
- Before importing data into another system - Before building a report or dashboard from an export - Monthly recurring exports where the same issues keep appearing (save the code and reuse it)
**What it will not do**
- It does not delete or fill in values without your approval, and it never fills missing values with invented data. Imputation is proposed only with the method stated. - It does not decide business rules (which duplicate to keep, what a valid status is). It asks. - It is not the place for sensitive personal or regulated data unless your organization's policy allows uploading it to ChatGPT. Remove or mask such columns first.
**Example report line**
"`signup_date`: 1,204 rows. 3 formats found: YYYY-MM-DD (1,120), DD/MM/YYYY (79), blank (5). 2 dates are after the export date. Proposed: parse both formats, flag the 2 future dates for review, leave blanks as missing."
How to use it
**Set up as a ChatGPT custom GPT** (requires a ChatGPT plan that lets you create GPTs).
1. In ChatGPT, open the GPTs area from the sidebar (Explore GPTs) and choose **Create**. 2. Switch to the **Configure** tab instead of using the chat-based builder. 3. Set **Name** to `Data Quality Profiler` and write a one-line **Description**. 4. Open `assistants/csv-data-quality-profiler/instructions.md`, copy everything, and paste it into the **Instructions** field. The file is written to fit inside the field's character limit. 5. Add **Conversation starters**: `Profile this file`, `Check this export for duplicates on email`, `Propose a cleaning plan`, `Apply steps 1, 2 and 4`. 6. Under **Knowledge**, upload (optional) a data dictionary describing expected columns, types and allowed values. The GPT will check the file against it. 7. Under **Capabilities**: turn **Code Interpreter & Data Analysis** on (required). Web search and image generation can be off. 8. Test it in the preview pane on the right with a real example, then save and choose who can access it (only you, anyone with the link, or your workspace, depending on your plan).
**Data handling:** mask or remove names, emails, phone numbers and other personal data before uploading unless your organization permits uploading it. The GPT works on a copy inside the chat session; your original file is not changed.
Files
Save each file at the path shown, relative to your project root.