def insert_death( death: list, table: sqlalchemy.Table, engine: sqlalchemy.engine, ) -> None: try: backpack_bool = True if death[4][4] else False except IndexError: backpack_bool = False insertion = table.insert().values( user = death[0], datetime = death[1], base_fame = death[2], total_fame = death[3], weapon = death[4][0], secondary = death[4][1], armour = death[4][2], ring = death[4][3], backpack = backpack_bool, maxed_stats = int(death[5][0]), killed_by = death[6], ) with engine.connect() as connection: result = connection.execute(insertion) return None
def table_col_names(db_engine: sqlalchemy.engine, schema_name: str, table_name: str): column_names = [] with db_engine.connect() as con: rows = con.execute( f"select column_name from information_schema.columns where table_schema = '{schema_name}' and table_name='{table_name}'" ) column_names = [row[0] for row in rows] return column_names
def db_to_csv(self, sql_path: str, engine: sqlalchemy.engine, path: str) -> None: """Reads in a sql file and writes out a file to a given location.""" file = open(SCRIPT_DIR+'/..'+'/sql/'+sql_path) with engine.connect() as conn: query = sqlalchemy.text(file.read()) resultproxy = conn.execute(query) df_dict = [ {column: value for column, value in rowproxy.items()} for rowproxy in resultproxy ] df = pd.DataFrame(df_dict) out_path = self.base + path + self.date + '/' + str(sql_path.split('.')[0]) + '.csv' df.to_csv(out_path, index=False)
def insert_offer( offer: list, table: sqlalchemy.Table, engine: sqlalchemy.engine, ) -> None: insertion = table.insert().values( user = offer[-1], selling = ','.join(offer[0]), buying = ','.join(offer[1]), quantity = offer[2], datetime = offer[3], ) with engine.connect() as connection: result = connection.execute(insertion) return None