import pandas as pd from sqlalchemy import create_engine from database import conn_string cfg = { "clients": [ "deop01", "deop02", "deop03", "deop04", "deop05", "deop06", "deop07", "deop08", "deop09", "deop10", "deop11", "deop12", "deop13", "deop14", "deop15", "deop16", "deop17", "deop18", "deop19", "deop20", "deop21", "deop22", "deop23", "deop24", "deop25", "deop26", "deop27", "deop28", "deop29", "deho02", "deni02", ], "date_filter": "'2019-01-01'", "source_dsn": { "user": "sa", "pass": "Mffu3011#", "server": "GC-SERVER1\\GLOBALCUBE", "database": "desk01", "driver": "mssql", }, "source_schema": "dbo", "source_query": "Belege_Planung_Ist_FC.sql", "source_header": [ "Datenbank", "Betrieb_Nr", "Marke", "Konto_Nr", "Bookkeep_Period", "Betrag", "Menge", ], "target_csv": "Belege_Planung_Ist_FC.csv", } def db_import(select_query, source_db, current_table, target_db, target_schema): pd.read_sql(select_query, source_db).to_sql( current_table["target"], target_db, schema=target_schema, index=False, if_exists="append", ) source_db = create_engine(conn_string(cfg["source_dsn"])) with open(cfg["source_query"], "r") as f: select_query = f.read() with open(cfg["target_csv"], "w") as f: f.write(";".join(cfg["source_header"]) + "\n") for current_client in cfg["clients"]: current_query = select_query.replace("desk01", current_client) pd.read_sql(current_query, source_db).to_csv( cfg["target_csv"], sep=";", decimal=",", encoding="latin-1", index=False, header=False, mode="a", ) print(current_client)