Создайте новый столбец данных, применив формулу Excel, используя Python - PullRequest
1 голос
/ 23 января 2020

У меня есть таблица Excel, которую я читаю в кадр данных, используя pandas. У меня есть второй файл Excel, который содержит некоторые формулы, которые необходимо применить к первому Excel, чтобы создать новый столбец. Мой фрейм данных первого Excel выглядит примерно так:

RPA Rej    RPA Acc
  1          0
  5          3
  0          0

Что касается второго Excel, я хочу вычесть значения RPA Rej и RPA Acc и создать новый столбец Total с их результатом. и запишите весь фрейм данных в файл Excel, чего я очень достиг:

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

и это:

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

но я хочу увидеть формулу Excel, когда нажимаю на значения в столбце Total, что-то вроде этого:

enter image description here

Не знаю знать, как выполнять арифметические c операции над python с помощью формул Excel. Если бы вы, ребята, могли бы помочь мне достичь этого, я бы очень оценил это

1 Ответ

1 голос
/ 25 января 2020

Вы можете написать формулы для каждой строки, используя для l oop.

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

...