Skip to content

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

License

Notifications You must be signed in to change notification settings

joetats/xlFormulas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

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'))

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages