简体   繁体   English

Python:如何将 dataframe 导出到现有的 Excel 工作表但不创建新工作表

[英]Python: how can I export dataframe to existing Excel sheet but not creating a new sheet

I would like to export my dataframes to specified columns in existing Excel sheet in Python and I have tried different ways but they don't work.我想将我的数据帧导出到 Python 中现有 Excel 表中的指定列,我尝试了不同的方法,但它们不起作用。 I have already exported df1 to an excel sheet called "IR delta" and now I would like to export df2 to the same sheet as df1 after running some codes to generate df2 .我已经将df1导出到名为“IR delta”的 excel 工作表,现在我想在运行一些代码生成df2后将df2导出到与df1相同的工作表。 However, excel sheet "IR delta1" is created instead of exporting the same sheet "IR delta".但是,创建 excel 工作表“IR delta1”而不是导出相同的工作表“IR delta”。 Can anyone please help?有人可以帮忙吗? Many thanks!非常感谢!

df1 df1

  Qualifier                   Currency Risk Group  Delta Concentration threshold (USD/bp)   CR
0       AUD  Regular volatility, less well-traded                                41000000  1.0
1       CHF  Regular volatility, less well-traded                                41000000  1.0
2       CNY                       High volatility                                31000000  1.0
3       EUR       Regular volatility, well-traded                               220000000  1.0

df2 df2

   Qualifier      Curve Tenor        RiskType  Risk Weight   CR            WS
0        AUD    Libor3m    1m    Risk_IRCurve          107    1  2.140000e+08
1        AUD    Libor3m    2y    Risk_IRCurve           53    1 -1.060000e+08
2        AUD    Libor3m    6m    Risk_IRCurve           71    1  2.130000e+08
3        CHF    Libor6m   15y    Risk_IRCurve           50    1 -2.000000e+08
4        CHF    Libor6m   20y    Risk_IRCurve           54    1  5.400000e+08
5        CHF    Libor6m   30y    Risk_IRCurve           63    1  7.560000e+08

Please see my code below:请在下面查看我的代码:

writer = pd.ExcelWriter(Results, engine = 'openpyxl')
writer.book = book

df1.to_excel(writer, sheet_name='IR delta', startrow=0, index=False)
writer.save()
writer.close()

I have exported df1 to the excel sheet "IR delta" at this point.此时我已将df1导出到 excel 表“IR delta”。 Now I want to export df2 to the same sheet but not creating a new sheet.现在我想将df2导出到同一张工作表,但不创建新工作表。 Yet df2 is exported to sheet ""IR delta1".然而df2被导出到工作表“IR delta1”。

book = load_workbook(Results)
writer = pd.ExcelWriter(Results, engine = 'openpyxl')
writer.book = book

df2.to_excel(writer, sheet="IR delta", startrow=0, startcol= 10, index=False)
import pandas as pd

Just use merge() method:-只需使用merge()方法:-

masterdf=df2.merge(df1,on=['Qualifier','CR']) 

Note:- In case the CR column varies ie CR column is different in both dataframes.then use the code below:-注意:-如果 CR 列不同,即两个数据帧中的 CR 列不同。请使用以下代码:-

masterdf=df2.merge(df1,on='Qualifier',suffixes=['_df1','df_2']) 

Now save this masterdf :-现在保存这个masterdf :-

writer = pd.ExcelWriter(Results, engine = 'openpyxl')
writer.book = book

masterdf.to_excel(writer, sheet_name='IR delta', startrow=0, index=False)
writer.save()
writer.close()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM