pandas map mapping

Requirement: Join two tables according to the same field and column

def get_trade_info():
    
    con = sqlite3.connect(r'\数据库\test.db')  # 数据库
    cursor = con.cursor()  # 获取游标
    data_opt_trade = cursor.execute('select * from opt_trade ')
    sqlpd1 = pd.DataFrame(data_opt_trade, columns=[i[0] for i in cursor.description])
    sqlpd1 = sqlpd1[sqlpd1['date'].values >= '2021-01-01']
    data_contract = cursor.execute('select cont_id,cust_id,type_ea,underlying from contract')
    sqlpd2 = pd.DataFrame(data_contract, columns=[i[0] for i in cursor.description])
 
  #map字典映射
    sqlpd1['cust_id'] = sqlpd1['cont_id'].map(sqlpd2.set_index('cont_id')['cust_id'].to_dict())
    sqlpd1['type_ea'] = sqlpd1['cont_id'].map(sqlpd2.set_index('cont_id')['type_ea'].to_dict())
    sqlpd1['underlying'] = sqlpd1['cont_id'].map(sqlpd2.set_index('cont_id')['underlying'].to_dict())
    sqlpd1['branchName'] = sqlpd1['cont_id'].map(sqlpd2.set_index('cont_id')['branchName'].to_dict())
   
    sqlpd1.to_excel(r"res.xlsx", index=False)  # 输出结果路径
   

Guess you like

Origin blog.csdn.net/xiaoyurainzi/article/details/130962057