我有一个数据库,其中包含两个表:cdr
和mtr
。我希望基于ego_id
和alter_id
列将这两个列连接起来,并将其输出到同一数据库中的另一个表中,使用列名完成,,而不使用pandas
以下是我当前的代码:
mtr_table = Table('mtr', MetaData(), autoload=True, autoload_with=engine)
print(mtr_table.columns.keys())
cdr_table = Table('cdr', MetaData(), autoload=True, autoload_with=engine)
print(cdr_table.columns.keys())
query = db.select([cdr_table])
query = query.select_from(mtr_table.join(cdr_table,
((mtr_table.columns.ego_id == cdr_table.columns.ego_id) &
(mtr_table.columns.alter_id == cdr_table.columns.alter_id))),
)
results = connection.execute(query).fetchmany()
目前,对于我的测试代码,我要做的是将结果转换为数据帧,然后将其放回原始SQL数据库:
df = pd.DataFrame(results, columns=results[0].keys())
df.to_sql(...)
但我有两个问题:
results
中,需要由results[0].keys()
访问我已经检查了另一个stackoverflow question,但它使用sqlalchemy的ORM框架,不幸的是我不理解。如果有更简单的方法(比如熊猫),我想这会更容易
最简单的方法是什么
所以我通过
CREATE TABLE AS
找到了如何做到这一点:不过,查询字符串似乎对括号高度敏感。如果我用括号括住整个
SELECT...FROM...
语句,它就不起作用了相关问题 更多 >
编程相关推荐