Skip to main content
πŸ“°

Python for journalists β€” data journalism, FOIA cleanup, scraping public records

The story is in the spreadsheet the agency didn't want you to notice. Python is how you notice it.

Data journalism is the highest-leverage skill any reporter can learn in 2026. The last decade of Pulitzer investigative winners share one pattern: a reporter joined two public datasets nobody had joined before (campaign finance Γ— zoning permits, prescription filings Γ— hospital revenue, ICE flight logs Γ— contract awards) and found the story in the join. That join is pandas. The chart that runs above the fold is matplotlib. The FOIA-response PDF that arrives redacted is pdfplumber + regex.

Data Science track (104 lessons) covers pandas + numpy + matplotlib in the exact shape reporters need β€” filter, join, group-by, plot, ship. Automation track covers BeautifulSoup + requests for scraping public-record portals. Foundations for the syntax underneath. Runs in your browser (no laptop-lockdown IT battles in a newsroom), first 15 lessons free.

Open the Data Science track β€” 104 lessons β†’

Or start with one of these

Automation track β†’
Scrape portals, parse FOIA PDFs, dump to CSV.
7-day jumpstart β†’
One structured week β€” syntax fluency.