Advertisement
Danila_lipatov

df.to_sql

Feb 1st, 2024 (edited)
868
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.23 KB | None | 0 0
  1. conn_string = f'postgresql+psycopg2://{name}:{pas}@{host}/{database}'
  2. db = create_engine(conn_string, connect_args={'options': '-csearch_path={}'.format(schema)})
  3. conn = db.connect()
  4. dtypes = {
  5.                              '_id':  sqlalchemy.types.BIGINT(),
  6.                              'agency': sqlalchemy.types.TEXT(),
  7.                              '_ro_type': sqlalchemy.types.TEXT(),
  8.                              '_name': sqlalchemy.types.TEXT(),
  9.                              'identifier': sqlalchemy.types.TEXT(),
  10.                              'identifier_type': sqlalchemy.types.TEXT(),
  11.                              'additional_identifier': sqlalchemy.types.TEXT(),
  12.                              'additional_identifier_type': sqlalchemy.types.TEXT(),
  13.                              '_date': sqlalchemy.types.DATE(),
  14.                              'rating': sqlalchemy.types.TEXT(),
  15.                              'status': sqlalchemy.types.TEXT(),
  16.                              'additional_industry': sqlalchemy.types.TEXT(),
  17.                              'company_link': sqlalchemy.types.TEXT(),
  18.                              'forecast': sqlalchemy.types.TEXT(),
  19.                              'press_release_text': sqlalchemy.types.TEXT(),
  20.                              'press_release_link': sqlalchemy.types.TEXT(),
  21.                              '_comment': sqlalchemy.types.TEXT(),
  22.                              'scale': sqlalchemy.types.TEXT(),
  23.                              'ogrn': sqlalchemy.types.TEXT(),
  24.                              'fin_instrument': sqlalchemy.types.BOOLEAN(),
  25.                              'uuid_from_level_1': sqlalchemy.types.UUID(),
  26.                              'id_uuid': sqlalchemy.types.UUID(),
  27.                              'json_additional': sqlalchemy.types.JSON()
  28.                              }
  29. if data_load is not None:
  30.      if st.sidebar.button('Upload'):
  31.            data = pd.read_excel(data_load)
  32.            data = correct_data(data)
  33.            for col in data.columns:
  34.                if col not in dtypes.keys():
  35.                    data = data.drop(columns=[col])
  36.  
  37.            data.to_sql(f"{table}", con=conn, index=False, if_exists='replace',dtype=dtypes)
  38.            st.write(f'Success inserting {len(data)} rows')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement