我正在尝试使用Pandas.DataFrame作为两个后续SQL查询之间的中间结果数据集。
我想它看起来像:
import pandas.io.sql as pisql
import pyodbc
SQL_command1 = """
select * from tab_A
"""
result = pisql.read_frame(SQL_command1)
SQL_command2 = """
select *
from ? A
inner join B
on A.id = B.id
"""
pyodbc.cursor.execute(SQL_command2, result)
上面代码中的SQL_command2
只是一个伪代码,在哪里?将result
作为输入,并将别名命名为A
。
这是我第一次使用Pandas
,所以我不相信我的想法是否可行或有效。请问有人能为我好吗?
非常感谢。
答案 0 :(得分:0)
伪代码看起来像这样
import pandas as pd
df_a = pd.read_csv('tab_a.csv') #or read_sql or other read engine
df_b = pd.read_csv('tab_b.csv')
result = pd.merge(left=df_a,
right=df_b,
how='inner',
on='id') #assuming 'id' is in both table
要选择pandas数据帧的列,它将类似于df_a[['col1','col2','col3']]