Amazing-Python-Scripts
54 строки · 1.6 Кб
1import sqlite3
2from sqlite3 import Error
3
4# Function to connect to the SQL Database
5
6
7def sql_connection():
8try:
9con = sqlite3.connect('./Udemy Scraper/udemyDatabase.db')
10return con
11except Error:
12print(Error)
13
14
15con = sql_connection()
16
17# Function to Fetch courses from database
18
19
20def sql_fetch(con):
21cursorObj = con.cursor()
22try:
23cursorObj.execute('SELECT * FROM courses') # SQL search query
24except Error:
25print("Database empty... Fetch courses using fetcher script")
26return
27
28rows = cursorObj.fetchall()
29
30# Print table header
31print("{:^30}".format("Title"), "{:^30}".format("Description"), "{:^20}".format("Instructor"),
32"{:<15}".format("Current Price"), "{:<18}".format(
33"Original Price"), "{:^10}".format("Rating"),
34"{:^10}".format("Hours"), "{:^10}".format("Lectures"))
35
36# Print all rows
37for row in rows:
38# Format individual data items for printing in a table like manner
39title = "{:<30}".format(row[0] if len(
40row[0]) < 30 else row[0][:26]+"...")
41description = "{:<30}".format(
42row[1] if len(row[1]) < 30 else row[1][:26]+"...")
43instructor = "{:<20}".format(row[2] if len(
44row[2]) < 30 else row[2][:16]+"...")
45current_price = "{:^15}".format(row[3])
46original_price = "{:^18}".format(row[4])
47rating = "{:^10}".format(row[5])
48hours = "{:^10}".format(row[6])
49lectures = "{:^10}".format(row[7])
50print(title, description, instructor, current_price,
51original_price, rating, hours, lectures)
52
53
54sql_fetch(con)
55