📋
Python for Office Workers L2 PRO · 54 lessons Excel, Google Sheets, scraping — automate the boring parts of your job
54 lessons across 3 modules: Excel & CSV (DictReader, openpyxl read/write), Web APIs (requests, JSON parsing, Google Sheets via gspread), and Web Scraping (BeautifulSoup tables, capstone daily-price scraper). Designed for accountants, analysts, ops people — no CS background required.
✅ Who this is for
· You spend more than 2 hours a week on repetitive tasks in Excel / Sheets / browser · Zero programming background assumed — accountants, analysts, ops people welcome · No CS background required. We start at 'what is a variable' and end with deployed automations 🗺 Map 📚 Curriculum
🔒 Read a CSV with DictReader
🔒 openpyxl — read an .xlsx file
🔒 openpyxl — write a new spreadsheet
🔒 requests — GET data from any URL
🔒 🎯 Review: Automation module 1 recap
🔒 Parse JSON with the json module
🔒 Google Sheets API — read a sheet
🔒 Google Sheets API — append a row
🔒 BeautifulSoup — extract a table
🔒 Capstone — scrape & save daily prices
🔒 smtplib — send your first email
🔒 HTML emails — bold, links, tables
🔒 Attachments — send a CSV report
🔒 IMAP — read your inbox programmatically
🔒 Bulk-send safety — rate limit + dry-run
🔒 🎯 Review: Automation module 4 recap
🔒 pathlib — paths that don't break on Windows
🔒 Walk a folder tree recursively
🔒 Cron syntax — schedule your script
🔒 schedule library — Pythonic alternative to cron
🔒 Capstone — daily report bot
🔒 Slack incoming webhooks — 6 lines to ship notifications
🔒 Discord webhooks — same shape, different host
🔒 Telegram bot — send to your own chat
🔒 Stripe API — list customers with pagination
🔒 Notion API — append a row to a database
🔒 🎯 Review: Automation module 6 recap
🔒 GitHub API — list open PRs in your repo
🔒 OpenAI / Anthropic SDK — chat completion in 5 lines
🔒 Receive webhooks — a 10-line FastAPI listener
🔒 API auth: bearer tokens vs OAuth2 vs HMAC
🔒 Capstone — daily standup bot (Notion → Claude → Slack)
🔒 pandas read_csv — the only function you need to start
🔒 groupby — sum revenue per product
🔒 Filter + rename + drop — DataFrame surgery
🔒 Excel output — openpyxl with auto-fit columns
🔒 Google Sheets sync via gspread — append rows
🔒 🎯 Review: Automation module 7 recap
🔒 Delta tables — today vs yesterday vs week ago
🔒 Pivot table — orders by product × month
🔒 Pretty terminal tables with rich
🔒 Email HTML report with attached CSV
🔒 Capstone — daily metrics digest (DB → email + Slack)
🔒 PyPDF2 — extract text from any PDF
🔒 reportlab — generate a PDF invoice from scratch
🔒 pdfplumber — extract tables from PDFs
🔒 Jinja2 templating — HTML → PDF with WeasyPrint
🔒 python-docx — generate Word documents
🔒 Pillow — resize, watermark, batch-process images
🔒 QR codes — pip install qrcode
🔒 Mail merge — one template, N customized PDFs
🔒 Merge + split PDFs — combine receipts for an expense report
🔒 Capstone — daily invoice batch (CSV → PDF → email → archive)
Tip: click any lesson to revisit it. After your first attempt, the “Show example” button reveals the full solution.