【问题标题】:How to use Pandas.DataFrame as input of SQL query?如何使用 Pandas.DataFrame 作为 SQL 查询的输入?
【发布时间】:2015-08-17 15:56:16
【问题描述】:

我正在尝试使用 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,所以我不确定我的想法是否可行或有效。谁能启发我?

非常感谢。

【问题讨论】:

    标签: python sql pandas dataframe


    【解决方案1】:

    伪代码如下所示

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-15
      • 2023-02-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多