【问题标题】:Merge dataframes by left join SQL & Pandas通过左连接 SQL 和 Pandas 合并数据帧
【发布时间】:2026-01-06 19:05:01
【问题描述】:

我使用 Python 将两个表放入 MySQL 数据库。下面的 SQL 代码是对数据库中的两个表执行连接。如何通过编写等效的 python 代码来做同样的事情?

MySQL 代码:

SELECT A.num, B.co_name, A.rep_name
FROM A 
JOIN B 
ON A.num=B.no

所需的 Python 代码:

sql = "XXX"    
df_merged = pd.read_sql(sql, con=cnx)

【问题讨论】:

  • 所以基本上你想在两个表上执行连接并将它们存储到熊猫数据框中?
  • 使用python代码加入表并将合并后的表存储在MySQL数据库中
  • check this 帮助您导入多个表,发布后您可以执行查询并存储到df.to_sql
  • 我想要的用于 SQL 连接的 Python 代码与此处的讨论类似:[*.com/questions/50020683/…

标签: python mysql sql pandas merge


【解决方案1】:

我设法通过用适当的撇号括起我的查询来解决:

sql = '''SELECT A.num, B.co_name, A.rep_name 
FROM A 
LEFT JOIN B ON A.num=B.no ''' 
df_merged = pd.read_sql(sql, con=cnx)

【讨论】:

    【解决方案2】:

    您可以采取的一种方法是将每个元素一个一个地插入到一个新的表格/数据框中。

    zip( *map(lambda x: pd.read_sql_query(SQL.format(x),connection).loc[0],  
                                          df.yourDataFrame))
    

    这将生成一个键值对,SQL 表作为键,pandas df 作为值。您可以随意添加这些值(df 或 sql 表)。

    希望这会有所帮助:)

    【讨论】:

      最近更新 更多