A Python script that reads a CSV file, filters rows by a condition, and prints a summary — the same thing you'd do with Excel filters and COUNTIF, but in code that runs automatically every time without you touching it.
The Wall Every Excel User Hits
Excel is genuinely great. If you've learned pivot tables, VLOOKUP, and conditional formatting — you have real data skills. But Excel has hard limits that show up the moment your data gets serious:
- ✗1 million row limit. Sales data, log files, customer records — real datasets blow past this constantly.
- ✗No automation. Every month you open the file, update the formulas, rerun the pivot. Same 2 hours. Every time.
- ✗Single file. Combining 50 monthly reports means copy-pasting 50 times. In Python it's one line.
- ✗No AI integration. You can't feed data to Claude from inside Excel. You can from Python.
Python doesn't replace your data knowledge. It removes the ceiling on what you can do with it.
Installing Python (5 Minutes)
Go to python.org/downloads and download Python 3.11 or newer. Run the installer. On Windows, check "Add Python to PATH" before clicking Install — this is the one step people miss.
Open a terminal (Terminal on Mac, Command Prompt on Windows) and verify:
$ python --version
Python 3.11.9
$ pip --version
pip 24.0
Also install VS Code from code.visualstudio.com and add the Python extension. This is your editor for the rest of the course.
Mac users: If python gives an error, try python3. They're the same. You can add an alias later.
Excel Concepts You Already Know, in Python
You don't start from zero. Every Excel concept has a Python equivalent. Here's the map:
| In Excel you do this... | In Python it's this... |
|---|---|
| Filter rows by value | df[df['column'] == 'value'] |
| VLOOKUP / XLOOKUP | df.merge(other_df, on='key') |
| Pivot Table | df.groupby('category').sum() |
| COUNTIF | df['col'].value_counts() |
| SUMIF | df.groupby('col')['amount'].sum() |
| Remove duplicates | df.drop_duplicates() |
| Sort by column | df.sort_values('column') |
The logic is identical. The syntax is just different. By Day 3 you'll know all of these cold.
Your First Python Script
Create a new file called day1.py in VS Code. Type this out — don't copy-paste yet. The muscle memory matters.
# Python variables — same concept as Excel named cells
company = "Acme Corp"
revenue = 1_250_000
growth_rate = 0.14
is_profitable = True
# Print output — like typing in a cell
print(f"Company: {company}")
print(f"Revenue: ${revenue:,}")
print(f"Growth: {growth_rate:.0%}")
# A simple function — like an Excel custom formula
def project_revenue(current, rate, years):
return current * ((1 + rate) ** years)
next_year = project_revenue(revenue, growth_rate, 1)
print(f"Projected next year: ${next_year:,.0f}")
# A list — like a single column of data
monthly_sales = [82000, 95000, 110000, 88000, 124000, 135000]
print(f"Total H1: ${sum(monthly_sales):,}")
print(f"Average: ${sum(monthly_sales)/len(monthly_sales):,.0f}")
Run it by pressing F5 in VS Code, or in the terminal:
$ python day1.py
Company: Acme Corp
Revenue: $1,250,000
Growth: 14%
Projected next year: $1,425,000
Total H1: $634,000
Average: $105,667
Notice the f-string formatting. f"Revenue: ${revenue:,}" adds commas automatically. In Excel you'd set a cell format. In Python, you format in the output string. You'll use this constantly.
Read a CSV in 3 Lines
Create a file called sales.csv in the same folder:
region,rep,revenue,month
East,Alice,45000,Jan
West,Bob,62000,Jan
East,Carol,38000,Jan
West,David,71000,Feb
East,Alice,52000,Feb
West,Bob,48000,Feb
Now read it with Python:
import csv
with open("sales.csv") as f:
reader = csv.DictReader(f)
rows = list(reader)
# Total revenue — like Excel SUM
total = sum(int(row["revenue"]) for row in rows)
print(f"Total revenue: ${total:,}")
# Filter by region — like Excel filter
east = [row for row in rows if row["region"] == "East"]
east_total = sum(int(r["revenue"]) for r in east)
print(f"East region: ${east_total:,}")
Tomorrow you'll use pandas, which makes all of this even shorter. But today you're seeing the raw mechanics so you know what pandas is actually doing for you.
Day 1 Complete
- Python installed and VS Code configured
- Understand exactly where Excel hits its limits
- Know the Python equivalents of common Excel operations
- Wrote and ran your first Python script with variables and functions
- Read a CSV file and filtered data with Python
Tomorrow: Things Excel Simply Can't Do
Day 2 shows you the operations that are impossible in Excel and trivial in Python — combining 50 files, cleaning messy data, and working with datasets that would crash Excel.
Day 2: Things Excel Can't Do