如何创建 to_sql create_engine

how to create to_sql create_engine

我正在尝试将数据帧信息添加到 PostgreSQL 的 table。

但我不知道如何创建引擎。 这很可能与 SQL 服务器的连接有关,但我不知道如何创建它。

我在to_sql文档上看到的例子是:

>>> from sqlalchemy import create_engine
>>> engine = create_engine('sqlite://', echo=False)

而我尝试的是:

param_dic = {'host': 'localhost', 'database':'databasename', 'user':'username', 'password':'password' }
conn = pgsql.connect(**param_dic)
cursor = conn.cursor()

for filename in work_dir.glob('excel_filename.xlsx'):
    df = pd.read_excel(filename)
    df.to_sql('table name', conn, if_exists='replace')
    conn.commit()
    cursor.close()
engine = create_engine('sqlite://', echo=False)

这似乎不完整。通常你会把连接字符串放在这里,而不仅仅是“sqlite”。

我猜你想做的是

# note, put your actual credentials here
engine = create_engine('postgresql://scott:tiger@localhost/test', echo=False)

然后您可以基于此引擎创建连接,例如

with engine.connect() as con:
    # etc...
    df.to_sql('table name', conn, if_exists='replace')
    # etc...

或者只是con = engine.connect()