多个数据帧上的read_sql_query连接参数con

问题描述 投票:0回答:1

我有三个 pandas 数据框,我想使用 SQL 将它们连接在一起。我有一个关于如何在 pd.read_sql_query 函数中分配“con”的问题。

import pandas as pd
df1 = pd.read_csv("C:/Users/name/sheet1.csv")
df2 = pd.read_csv("C:/Users/name/sheet2.csv")
df3 = pd.read_csv("C:/Users/name/sheet3.csv")



 sql=""" select t4.*,sum(t3.col1) from (select t1.col1,t2.col2 from df2 as t2 join df1 as t1 on t1.col1=t2.col2) as t4 join df3 as t3 on t4.col1 = t3.col3"""

df4=pd.read_sql_query(sql,  con=df1,df2,df3???) # here is the problem 
sql pandas database-connection pandasql read-sql
1个回答
0
投票

您可以使用 pandas 中的 merge() 函数将数据帧合并在一起。要在数据框中使用 sql,只能连接某些数据库。

如何使用 read_sql_table() 进行编码的示例。

from sqlalchemy import create_engine  
engine = create_engine("sqlite:///database.db")  
with engine.connect() as conn, conn.begin():  
data = pd.read_sql_table("data", conn)

merge()示例:https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.merge.html

© www.soinside.com 2019 - 2024. All rights reserved.