【发布时间】:2022-01-24 11:24:29
【问题描述】:
我有以下代码:
class DatabaseG:
def __init__(self):
config.read("config.ini")
self.connection = mysql.connect(
user=config["knihy"]["user"],
passwd=config["knihy"]["password"],
host=config["knihy"]["host"],
db=config["knihy"]["database"],
)
self.cursor = self.connection.cursor()
query = """
CREATE TABLE IF NOT EXISTS KNIHY (id TEXT, blabla TEXT)
"""
self.cursor.execute("""SHOW TABLES LIKE 'KNIHY'""")
def vlozit_df(self, my_df):
if not my_df.empty:
config = ConfigParser()
config.read("config.ini")
user = config["knihy"]["user"]
passwd = config["knihy"]["password"]
host = config["knihy"]["host"]
db = config["knihy"]["database"]
engine = create_engine(
f"mysql+pymysql://{user}:{passwd}@{host}/{db}?charset=utf8mb4"
)
con = engine.connect()
my_df.to_sql("KNIHY", con=con, if_exists="append", index=False)
上面的示例有效,但您可以看到我重复了两次代码块。请问如何使用 init 中的 self.connection 在方法 vlozit_df 中创建 engine ?谢谢
【问题讨论】: