Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def get_db_credentials():
- cd = os.path.dirname(os.path.abspath(__file__))
- csv_file = os.path.join(cd, "db_credentials.csv")
- with open(csv_file) as file:
- read_csv = csv.reader(file, delimiter=";")
- db__credentials = {row[0]: row[1] for row in read_csv}
- conn = psycopg2.connect(host=db__credentials["hostname_db"],
- user=db__credentials["username_db"],
- password=db__credentials["password_db"],
- dbname=db__credentials["database_db"],
- port=db__credentials["port_db"])
- cur = conn.cursor()
- return conn, cur
- def save_to_db(df, conn, cur, table_name):
- values = df.to_dict(orient="split")["data"]
- signs = '(' + ('%s,' * len(values[0]))[:-1] + ')'
- try:
- args_str = b','.join(cur.mogrify(signs, x) for x in values)
- args_str = args_str.decode()
- print(args_str)
- insert_statement = """INSERT INTO {} VALUES""".format(table_name)
- conflict_statement = """ ON CONFLICT DO NOTHING"""
- cur.execute(insert_statement + args_str + conflict_statement)
- conn.commit()
- except Exception:
- conn.rollback()
- return False
- else:
- return True
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement