合并数据框通过左连接SQL和Pandas

2024-04-27 05:02:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python将两个表制作成MySQL数据库。下面的SQL代码将对数据库中的两个表执行联接。如何通过编写等效的python代码来实现同样的效果?在

MySQL代码:

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

所需的Python代码:

^{pr2}$

Tags: no代码namefrom数据库sqlonmysql
2条回答

我设法用适当的撇号将我的问题括起来:

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)

可以采用的一种方法是逐个获取每个元素并将其插入到新的表/数据框中。在

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

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

希望这有帮助:)

相关问题 更多 >