Create a Client class that interacts with an SQLDatabase Server (provided below). The Client sends a SQLQuery to the SQLDatabase and receives a Dataframe from the SQLDatabase. The class should contain the default __dunders__ and potentially introduce some custom __dunders__. The SQLDatabase Server: import pandas as pd import sqlite3 class Server: def __init__(self, database): self.conn = sqlite3.connect(database) def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.conn.close() def __repr__(self): return f"Server({self.conn})" def execute_query(self, query): cursor = self.conn.cursor() cursor.execute(query) columns = [desc[0] for desc in cursor.description] results = cursor.fetchall() df = pd.DataFrame(results, columns=columns) cursor.close() return df
Create a Client class that interacts with an SQLDatabase Server (provided below). The Client sends a SQLQuery to the SQLDatabase and receives a Dataframe from the SQLDatabase. The class should contain the default __dunders__ and potentially introduce some custom __dunders__.
The SQLDatabase Server:
import pandas as pd
import sqlite3
class Server:
def __init__(self,
self.conn = sqlite3.connect(database)
def __enter__(self):
return self
def __exit__(self, exc_type, exc_val, exc_tb):
self.conn.close()
def __repr__(self):
return f"Server({self.conn})"
def execute_query(self, query):
cursor = self.conn.cursor()
cursor.execute(query)
columns = [desc[0] for desc in cursor.description]
results = cursor.fetchall()
df = pd.DataFrame(results, columns=columns)
cursor.close()
return df
Step by step
Solved in 3 steps