Skip to content
Helper class to write Excel-style formula strings to worksheets when saving from a Pandas dataframe.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
xlFormulas
.gitignore
LICENSE
README.md

README.md

xlFormulas

Helper class to write Excel-style formula strings to worksheets when saving from a Pandas dataframe.

Default initialization assumes the worksheet will be saved with an index and header row (the first real 'data' cell would be B2) but an index and header parameter are available to ensure alignment.

Pass in mathematical operators with strings, limited support currently for Excel built-in functions. If a value is not a column name in df.columns it is passed in as it is, whether that means it's an operator or builtin function.

The .formula() method returns a list of strings beginning with '=' and containing the row index for the Excel formula

Installation:

pip install xl-formulas

Basic usage:

import pandas as pd
from xlFormulas import ExcelFormulas

df = pd.read_excel('sample_data.xlsx')

# Pass in Pandas dataframe to intialize ExcelFormulas helper
ef = ExcelFormulas(df)

# Returns a column like "=B2+C2" in df['C']
df['C'] = ef.formula('A + B')

# Makes a "=(B2 + C2)/(C2 - D2)" column in df['D']
df['D'] = ef.formula(f'{ef.paren('A + B')} / {ef.paren('B - C')}'

# Use Excel built-in functions (Still pretty buggy)
# This would get a column of "=SUM(B2,C2,5)" in df['E']
df['E'] = ef.formula(ef.builtin('SUM', 'A', 'B', 'C'))
You can’t perform that action at this time.