我用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)
我设法通过用适当的撇号括起来我的查询来解决:
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 表作为键,熊猫 df 作为值。您可以随心所欲地添加这些值(df 或 sql 表(。
希望这对:)有所帮助