将SQL查询类型转换为Python类型
我想将使用将SQL查询类型转换为Python类型,python,mysql,pandas,sqlalchemy,amazon-redshift,Python,Mysql,Pandas,Sqlalchemy,Amazon Redshift,我想将使用create\u engine运行的SQL查询结果的数据类型从SQLAlchemy转换为Python对象,将其保存为CSV,然后加载到另一个SQL数据库,该数据库可能使用不同的方言。由于我必须处理可能返回大量行的查询,因此数据可能以块的形式加载,在某些情况下,由Pandas等工具创建的autommatic类型定义是不合适的(例如:第一个块的所有行都有None作为值,但下一个块有整数文本,另一个块只有字符串……但实际上它们只有字符串) 我尝试使用SQLAlchemy.inspect,但它
create\u engine
运行的SQL查询结果的数据类型从SQLAlchemy转换为Python对象,将其保存为CSV,然后加载到另一个SQL数据库,该数据库可能使用不同的方言。由于我必须处理可能返回大量行的查询,因此数据可能以块的形式加载,在某些情况下,由Pandas等工具创建的autommatic类型定义是不合适的(例如:第一个块的所有行都有None
作为值,但下一个块有整数文本,另一个块只有字符串……但实际上它们只有字符串)
我尝试使用SQLAlchemy.inspect
,但它仅适用于表,而不适用于具有联接的查询结果,例如:
选择users.id,将(*)计算为用户订单总数,将总和(orders.price)计算为终身价值
来自用户
内部联接顺序
ON orders.user_id=users.id
按订单分组。id
在这种情况下,我希望能够访问user\u id
(SQL:INT
,Python:INT
)和total\u users\u orders
(SQL:INT
,Python:INT
)和life\u value
(SQL:FLOAT
,Python:FLOAT
)
有没有办法获取此查询返回的行的数据类型,然后映射到python类型,而不依赖于自动推断