[使用Python应用Excel公式创建新的数据框列

问题描述 投票:1回答:1

我有一个Excel电子表格,我正在使用熊猫将其读入数据框。我有第二个excel文件,其中包含一些公式,需要在第一个excel上应用这些公式才能创建新列。我的第一个excel数据框看起来像这样:

RPA Rej    RPA Acc
  1          0
  5          3
  0          0

根据第二个excel,我想减去RPA RejRPA Acc的值,并用它们的结果创建一个新列Total并将整个数据帧写入一个excel文件,这是我非常成功地实现的:

df['Total'] = df['RPA Rej'] - df['RPA Acc']

和此:

df.to_excel('data.xlsx', index = False)

但是当我单击Total列中的值时,我想查看excel公式,类似这样:

enter image description here

我不知道如何使用Excel公式对python进行算术运算。如果你们能帮助我实现这一目标,我将非常感谢

python pandas xlsxwriter
1个回答
0
投票

您可以使用for循环将公式写入每一行。

import pandas as pd
import numpy as np

# Create a test dataframe
df = pd.DataFrame({'RPA Rej': [1,5,0],
                    'RPA Acc': [0,3,0]})

# Insert an empty column to write the formulas
df.insert(2, 'TOTAL', np.nan)

# Start the xlsxwriter
writer = pd.ExcelWriter('Test Formulas.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False)
workbook  = writer.book
worksheet = writer.sheets['Sheet1']

# Create a for loop to start writing the formulas to each row
for row in range(2,df.shape[0]+2):
    formula = f'=A{row}-B{row}'
    worksheet.write_formula(f"C{row}", formula)

writer.save()

输出:Output

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.