如何创建 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()
我正在尝试将数据帧信息添加到 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()