What to Do First When You Open a New CSV File
Someone sends you a CSV and says "can you look at this?" You open it and see 50,000 rows and 25 columns. The column names are abbreviations that don't mean much. There's no data dictionary. Where do you even start?
Most people scroll around aimlessly for a few minutes, maybe sort a column or two, then go back to the sender with questions they could have answered themselves. There's a better way. Here's a five-minute routine that gives you a solid understanding of any data file before you start asking questions or doing analysis.
Step 1: Check the basics
Before anything else, look at the numbers in the status bar. How many rows? How many columns? This tells you the scale of what you're dealing with. A 500-row file with 8 columns is a different animal than 500,000 rows with 60 columns.
In ExploreMyData, the row
count shows immediately after the file loads. Scroll the grid horizontally to see every
column. Read the column headers. Even cryptic ones like amt_due_net
or cust_seg_cd start
to make sense once you see a few values beneath them.
| # | order_id | cust_seg_cd | amt_due_net | order_dt | status | region |
|---|---|---|---|---|---|---|
| Badges in the headers: # order_id · T cust_seg_cd · # amt_due_net · D order_dt · T status · T region. 49,832 rows. | ||||||
| 1 | 10041 | ENT | 1,240.00 | 2025-01-03 | Active | West |
| 2 | 10042 | SMB | 89.99 | 2025-01-03 | Closed | East |
| 3 | 10043 | MID | 430.50 | 2025-01-04 | Pending | Central |
| 4 | 10044 | ENT | 5,820.00 | 2025-01-04 | Active | West |
| 5 | 10045 | SMB | 212.00 | 2025-01-05 | active | East |
Each header carries a one-character type badge. Row 5 has "active" in lowercase, a casing inconsistency to watch for.
Step 2: Check column types
Each column header carries a one-character badge for its detected type, and there are exactly three: T for text, # for number, D for date. No boolean badge. A true/false column lands under T and is treated as ordinary categorical text, which is usually what you want anyway, since it means the value list and equality filters work on it like any other column.
The badges matter more than you'd think. A zip_code column showing # means leading zeros got stripped and 00501 is now 501. A price column showing T means it has dollar signs or commas in it, and no arithmetic will work until you convert it.
Scan the badges from left to right. Are the dates showing D or T? Are the amounts showing # or T? Type mismatches are the most common problem in CSV files, and thirty seconds here saves twenty minutes later. Details in spotting data type issues.
Step 3: Explore a few text columns
Click on a text column header to open the Column Explorer. For categorical columns, this shows every unique value and how many times it appears. This is where you start to understand what the data actually represents.
Say you open a "status" column and see
Active (30,989),
Closed (14,891),
Pending (3,712) and
active (193). Three things fall
out of that in one glance: it's a customer or account file, most records are active, and someone's
import has a casing problem.
The search bar narrows the list when a column has hundreds of values, and clicking a value filters the grid to those rows. More on reading these lists in exploring categorical distributions.
| status | Count | Share |
|---|---|---|
| Active | 30,989 | 62.2% |
| Closed | 14,891 | 29.9% |
| Pending | 3,712 | 7.4% |
| active | 193 | 0.4% |
| (null) | 47 | 0.1% |
| Total | 49,832 | 100.0% |
Five distinct entries, four statuses plus the (null) row, adding up to all 49,832 rows in the file. The lowercase "active" is the same category as "Active", entered inconsistently.
Step 4: Check numeric columns for range and distribution
Click a numeric column and you get six stats: Sum, Avg, StDev, Min, Max and Nulls, the last of which only appears when there are any. Below them sits a histogram with equal-width bins and a bin size selector.
Read Min and Max first, then Avg. A Min of -$450 is probably a refund. A Max of $847,000 against an Avg of $312 is 2,700 times the typical order and needs an explanation. That's most of what you need from a first pass; finding outliers in numeric columns goes into what to do about it.
| Stat | Value | Notes |
|---|---|---|
| Min | -450.00 | Likely a refund - worth checking |
| Max | 847,000.00 | ~2,700x the average - investigate |
| Avg | 312.40 | Typical order size |
| StDev | 2,841.17 | Nine times the Avg - outliers present |
| Nulls | 214 | 0.4% of 49,832 rows - likely draft orders |
Column: amt_due_net. The bins are equal width, so the $847,000 order stretches the scale and lands almost every row in the leftmost bar. That shape is the outlier warning, not a rendering problem.
Step 5: Check date columns for range and gaps
Date columns get a time-series chart instead of a histogram, with five granularity buttons: day, week, month, quarter and year. Month is the default and the right first look. Quarter is the one people forget, and it's the right lens whenever the business reports quarterly, because a month that looks alarmingly light often turns out to be a timing shift within a normal quarter.
Two questions to answer here: does the range match what you were told, and are there dips to zero in the middle? Both are covered properly in checking date ranges and gaps.
Step 6: Check for nulls
There's no single screen listing every column's null count, so this is a pass through the columns you
care about. Numeric columns show a Nulls tile in the stats row, and only when the count is above zero.
Text columns show an italic (null)
entry in the value list with its own count.
One distinction to keep in mind: a NULL and an empty string look identical in the grid and are counted separately in that value list. The "is Empty" filter operator catches both on a text column, which is usually what you want. Finding patterns in missing data covers how to tell whether the gaps are random or structural.
Why this matters
This whole routine takes about five minutes. At the end, you know:
- How big the dataset is
- What each column represents (roughly)
- Whether types are correct
- The range and distribution of key numeric fields
- The time period the data covers
- Where the data quality problems are
That's enough to have an informed conversation with whoever sent you the file, or to start your actual analysis with confidence instead of guesswork.
The alternative is jumping straight into analysis and discovering twenty minutes later that the "revenue" column is text, half the dates are from a test environment, and the status column has six different spellings of "cancelled." Do the five-minute check first. It always pays off.