关注点:
版本信息:
数据库连接创建
不能用psycopg2.connect,需要用create_engine
参考文档
engine = create_engine('postgres://'
+ 'zentao' + ':'
+ 'zentao' + '@'
+ '127.0.0.1' + ':'
+ '5432' + '/'
+ 'test')
测试连接数据库是否成功
DB_Session = sessionmaker(bind=engine)
session = DB_Session()
data = session.execute("SELECT * FROM table limit 2")
for row in data:
for col in row:
print(col),
print
session.close()
to_sql相关参数
参考文档
正确的代码:
df.to_sql(name='table_name', schema='schema_name', con=engine,
if_exists='append' ,index=False)
重点就是,对于有schema的场景
如果name直接传入schema_name.table_name,是无法识别的。
错误的代码:
df.to_sql(name='schema_name.table_name', con=engine,
if_exists='append' ,index=False)
上述代码不会报错,但数据库中没有生成数据
所以一定要schema和table分开写