簡體   English   中英

相當於 python 中的 =INDEX(....MATCH())

[英]Equivalent of =INDEX(....MATCH()) in python

我同時使用 Python 和 Excel。 我正在使用xlwings查看 Excel 工作表,該工作表具有以下值:

date        rate
31/01/2016  0.60%
29/02/2016  0.60%
31/03/2016  0.60%
30/04/2016  0.60%
31/05/2016  0.60%
30/06/2016  0.60%
31/07/2016  0.60%
31/08/2016  0.60%
30/09/2016  0.60%
31/10/2016  0.40%
30/11/2016  0.40%
....
31/07/2030  1.65%

然后我有一個看起來也完全一樣的數據框,但它有不同的速率。 我想要做的是讓python根據日期比較Excel-DataFrame的值並將數據框值粘貼到Excel工作表中

到目前為止,我知道如何使用sht_in.range(start,end).value在 Excel 中獲取這些值,以及如何使用sht_in.range(start,end).value = df_data將它們插入到 Excel 工作表中,但我不是非常確定如何進行下一步

您想要做的是通過以下方式將 Excel 中的范圍讀入數據框

xl_df = pd.DataFrame(in_sht.range('A2:B10').value)

根據要與值進行比較的現有數據框,您可能需要重命名此數據框的列。

然后,您可能需要使用 Python 數據框對 Excel 數據框進行左連接。

new_df = xl_df.merge(py_df, on=0, how='left').drop(columns=['1_x'])

上面的代碼按每個數據幀中的第一列合並,並從 xl_df(x 數據集)中刪除百分比值。 您應該考慮按列名合並列。

然后,您可以使用新的數據框覆蓋 excel 中的數據

sht_in.range('A2').value = new_df.values.tolist()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM