我有三个 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
您可以使用 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