[Fix] Use sqlite3 context managers in pandas module.

This commit is contained in:
Fabian Joswig 2025-05-05 17:00:39 +02:00
parent 36f968be51
commit db7326f86b

View file

@ -29,9 +29,8 @@ def to_sql(df, table_name, db, if_exists='fail', gz=True, **kwargs):
None
"""
se_df = _serialize_df(df, gz=gz)
con = sqlite3.connect(db)
se_df.to_sql(table_name, con, if_exists=if_exists, index=False, **kwargs)
con.close()
with sqlite3.connect(db) as con:
se_df.to_sql(table_name, con=con, if_exists=if_exists, index=False, **kwargs)
def read_sql(sql, db, auto_gamma=False, **kwargs):
@ -52,9 +51,8 @@ def read_sql(sql, db, auto_gamma=False, **kwargs):
data : pandas.DataFrame
Dataframe with the content of the sqlite database.
"""
con = sqlite3.connect(db)
extract_df = pd.read_sql(sql, con, **kwargs)
con.close()
with sqlite3.connect(db) as con:
extract_df = pd.read_sql(sql, con=con, **kwargs)
return _deserialize_df(extract_df, auto_gamma=auto_gamma)