[英]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.