Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

edX

Scripting with Python and SQL for Data Engineering

Pragmatic AI Labs via edX

Overview

In this course, part of the Python, Bash and SQL Essentials for Data Engineering Specialization, you will gain the skills to work effectively with data using Python and SQL. You will learn to:

  • Leverage Python's powerful data structures to load, manipulate, and analyze data
  • Create robust Python scripts to automate data processing tasks
  • Utilize SQLite to store and retrieve data from within your Python scripts
  • Extract data from websites using web scraping techniques and persist it in databases
  • Work with MySQL databases using modern tools like VSCode to execute queries and manage data

Whether you are a data engineer, analyst, or aspiring data professional, this course will equip you with the essential skills to efficiently handle data and drive meaningful insights in today's data-driven world.

Syllabus

Here is the course structure formatted with bullets for each module:

Module 1: Working with Data in Python (5 hours)

\- Videos (Total 62 minutes):

\- Welcome to Scripting with Python and SQL for Data Engineering (Preview module)

\- Meet your Course Instructor: Alfredo Deza (0 minutes)

\- Overview of Key Concepts (4 minutes)

\- Introduction to Working with Data in Python (0 minutes)

\- Introduction to Python Data Structures (0 minutes)

\- Using Lists to Save and Retrieve Data in Python (5 minutes)

\- Using Dictionaries to Save and Retrieve Data in Python (7 minutes)

\- Overview of Less Common Data Structures in Python (4 minutes)

\- Recap of Data Structures in Python (1 minute)

\- Introduction to Choosing Data Structures in Python (1 minute)

\- Iterating Over Lists and Dictionaries in Python (7 minutes)

\- Iterating Over Other Data Structures in Python (2 minutes)

\- Storing Data Between Data Structures in Python (6 minutes)

\- Recap of Mapping Data Structures in Python (1 minute)

\- Introduction to Data Sources and Formats in Python (0 minutes)

\- Loading Data from Files and File Paths in Python (6 minutes)

\- Working with JSON in Python (6 minutes)

\- Saving Data from Python to Disk (4 minutes)

\- Recap of Persisting and Loading Data in Python (0 minutes)

\- Readings (Total 80 minutes):

\- Connect with your instructor (10 minutes)

\- Meet your Supporting Instructors: Kennedy Behrman and Noah Gift (10 minutes)

\- Course Structure and Discussion Etiquette (10 minutes)

\- Key Terms (10 minutes)

\- Python Lists and Dictionaries (10 minutes)

\- Key Terms (10 minutes)

\- Key Terms (10 minutes)

\- Build a notebook that reformats data into JSON (10 minutes)

\- Quizzes (Total 60 minutes):

\- Using Data Structures in Python (30 minutes)

\- Working with Data in Python (30 minutes)

\- Discussion Prompt (Total 10 minutes):

\- Meet and Greet (optional) (10 minutes)

\- Ungraded Labs (Total 120 minutes):

\- Looping Over Lists and Dictionaries in Python (60 minutes)

\- Loading and Saving JSON Files (60 minutes)

Module 2: Python Scripting and SQL (5 hours)

\- Videos (Total 56 minutes):

\- Introduction to Python Scripting and SQL (Preview module)

\- Introduction to Scripting in Python (0 minutes)

\- Creating a Script as a Module in Python (5 minutes)

\- Traversing the File System with a Script in Python (7 minutes)

\- Recap of Python Scripting Basics (0 minutes)

\- Introduction to Embedded Databases (0 minutes)

\- What is SQLite? (2 minutes)

\- Creating and Connecting to a SQLite Database in Python (5 minutes)

\- Saving and Querying from a SQLite Database in Python (10 minutes)

\- Recap of SQLite and Python (1 minute)

\- Introduction to Querying with SQL in Python (1 minute)

\- Basic SQL Commands in Python (6 minutes)

\- Extracting Distinct Data using SQL in Python (7 minutes)

\- Searching with SQL in Python (5 minutes)

\- Recap of Querying with SQL in Python (1 minute)

\- Readings (Total 70 minutes):

\- Key Terms (10 minutes)

\- Minimal Python, Chapter 2: Learn to Store Data (10 minutes)

\- Key Terms (10 minutes)

\- Example GitHub Repository (10 minutes)

\- Key Terms (10 minutes)

\- Example GitHub Repository (10 minutes)

\- Create a Reporting Script for File Sizes (10 minutes)

\- Quiz (Total 30 minutes):

\- Python Scripting and SQL (30 minutes)

\- Ungraded Labs (Total 180 minutes):

\- Build a Script to Find Large Files (60 minutes)

\- Create a SQLite Database and Store Data (60 minutes)

\- Querying a SQLite Database (60 minutes)

Module 3: Web Scraping using Python (4 hours)

\- Videos (Total 64 minutes):

\- Introduction to Web Scraping using Python (Preview module)

\- Introduction to Extracting Data from Unstructured HTML (1 minute)

\- Challenges with Web Data (3 minutes)

\- Parsing HTML with HTMLParser in Python (5 minutes)

\- Recap of Web Scraping Techniques in Python (0 minutes)

\- Introduction to Scrapy and XPath in Python (1 minute)

\- Creating a Web Scraping Project with Scrapy in Python (6 minutes)

\- Parsing Data with XPath and Scrapy Shell (11 minutes)

\- Using Scrapy Spider for Web Scraping (5 minutes)

\- Recap of Scrapy and XPath in Python (0 minutes)

\- Overview of Challenges with Web Scraping (2 minutes)

\- Scraping Locally (8 minutes)

\- Persisting Data in CSV and JSON Formats (9 minutes)

\- Persisting Data to a SQLite Database (6 minutes)

\- Recap of Persistence and Efficacy with Web Scraping (1 minute)

\- Readings (Total 70 minutes):

\- Key Terms (10 minutes)

\- Parsing Techniques with HTMLParser (10 minutes)

\- Key Terms (10 minutes)

\- Codespaces Lab: Parse HTML with Scrapy and XPath (10 minutes)

\- Key Terms (10 minutes)

\- Efficient Scraping Techniques (10 minutes)

\- Build a Web Scraping Tool (10 minutes)

\- Quiz (Total 30 minutes):

\- Web Scraping using Python (30 minutes)

\- Ungraded Labs (Total 120 minutes):

\- Parse HTML with HTMLParser (60 minutes)

\- Parse HTML and Persist it to a SQLite Database (60 minutes)

Module 4: Working with MySQL (7 hours)

\- Videos (Total 69 minutes):

\- Introduction to Working with MySQL (Preview module)

\- Introduction to VSCode with MySQL (1 minute)

\- Connecting to a MySQL Server (8 minutes)

\- Recap of VSCode with MySQL (1 minute)

\- Challenges of Running MySQL Queries (1 minute)

\- Using VSCode to Execute MySQL Queries (6 minutes)

\- Recap of Running MySQL Queries (1 minute)

\- Challenges with Importing to Databases (1 minute)

\- Importing CSV Data into MySQL (6 minutes)

\- Exporting Data from MySQL (6 minutes)

\- Recap of Importing and Exporting Data in MySQL (1 minute)

\- MySQL Hacking Overview (2 minutes)

\- MySQL from Terminal (3 minutes)

\- Archive and Drop Database (5 minutes)

\- Import external database Sakila (7 minutes)

\- Modify database Sakila (4 minutes)

\- Bash pipelines with MySQL (5 minutes)

\- MySQL to Python Standard Library Web Server (4 minutes)

\- Readings (Total 70 minutes):

\- Key terms (10 minutes)

\- Key terms (10 minutes)

\- Working with VSCode and MySQL (10 minutes)

\- Key Terms (10 minutes)

\- Lesson Reflection (10 minutes)

\- Loading and Exporting Data using MySQL (10 minutes)

\- Next Steps (10 minutes)

\- Quiz (Total 30 minutes):

\- Working with MySQL (30 minutes)

\- Ungraded Labs (Total 300 minutes):

\- Connect to a Running MySQL Server (60 minutes)

\- Running Queries Repository (60 minutes)

\- Export and Import Data in MySQL (60 minutes)

\- Linux Hacking with MySQL (60 minutes)

\- MySQL Sandbox (60 minutes)

Taught by

Alfredo Deza

Reviews

Start your review of Scripting with Python and SQL for Data Engineering

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.