SQLAlchemy Query在第二个数据库中创建表

时间:2015-10-31 03:57:11

标签: python sqlalchemy

我正在使用pandas查询不同的数据库(通常是oracle)并存储在一个postgres数据库中。在某些情况下,我只是查询结果来创建一个表,而不使用任何熊猫的力量。对于大型查询,由于pandas在运行插入之前检索所有行,因此它占用大量内存。

我很想知道我是否可以单独使用SQLalchemy表达式来完成某些事情。

我的熊猫代码示例(非常简单)

import pandas as pd
from sqlalchemy import create_engine

engineOra = create_engine('oracle://user:passwd@oraclehost:port/sid')
engine = create_engine('postgresql://user:passwd@localhost:5432/dbname')

data = pd.read_sql_query(sqlSelect, engineOra)
data.to_sql('table_name',engine, if_exists='replace')

除非是非常大的结果集,否则它的效果很好。我开始研究直接SQLAlchemy表达式(理想情况下内存使用率低)的方法,但没有运气。

engineOra = create_engine('oracle://user:passwd@oraclehost:port/sid')
engine = create_engine('postgresql://user:passwd@localhost:5432/dbname')
results = (engineOra.connect().execution_options(stream_results=True).execute(sqlSelect))

然后我尝试了各种方法来查找结果中的列/类型的信息,并用于创建表,然后从结果中插入 - 但不是运气。可能通过SQLalchemy工作吗?

0 个答案:

没有答案