如何使用Pandas.DataFrame作为SQL查询的输入?

时间:2015-08-17 15:56:16

标签: python sql pandas dataframe

我正在尝试使用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,所以我不相信我的想法是否可行或有效。请问有人能为我好吗?

非常感谢。

1 个答案:

答案 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']]