【发布时间】:2021-03-10 20:50:29
【问题描述】:
我试图弄清楚在 Python 中查询数据库时如何将 pandas 数据框视为 SQL 表。
我来自 SAS 背景,可以轻松地将工作表合并到直接数据库查询中。
例如:
Select a.first_col,
b.second_col
from database.table1 a
left join work.table1 b on a.id = b.id;
这里的 work.table1 不在数据库中,而是保存在本地 SAS 服务器中的数据集。
在我的研究中,我找到了将数据框写入数据库然后将其包含在查询中的方法。我没有数据库的写权限,所以这不是我的选择。
我也知道我可以使用sqlalchemy 和pd.to_sql() 将数据框放入SQL 引擎,但我不知道是否有办法将该引擎与pyodbc 连接我有数据库。
我也试过这个,但我认为它不会起作用(表和列的名称已更改)。
df = pd.DataFrame([A342,B432,W345],columns=['id'])
query = '''
select a.id, b.id
from df a
left join database.base_table b on a.id= b.id
'''
query_results = pd.read_sql_query(query,connection)
正如我所料,它不起作用。
我正在连接到 Netezza 数据库,我不确定这是否重要。
【问题讨论】: