Openpyxl format multiple columns (dates)

Viewed 22

In attempt to format all cells in multiple columns, using code bellow, I'm getting "ValueError: Style date exists already"

#define dates style
date_style = NamedStyle(name='date', number_format='DD/MM/YYYY')
# append to existing excel workbook, else create new 
if os.path.isfile(transformed_file):  # check if file already exists append to existing file
    workbook = openpyxl.load_workbook(transformed_file)  # load existing workbook
    sheet = workbook['Sheet1']
    for row in dataframe_to_rows(df, header=False, index=False):
        sheet.append(row)
        
        for cell in sheet[('D')]:
            cell.number_format ='0'
        for cell in sheet[('B')]:
            cell.style = date_style
        for cell in sheet[('C')]:
            cell.style = date_style
        
        workbook.save(transformed_file)  # save workbook
        workbook.close()  # close workbook
else:  # create the workbook if doesn't already exist
    with pd.ExcelWriter(path = transformed_file, engine = 'openpyxl') as writer:
        df.to_excel(writer, index=False, sheet_name = 'Sheet1')

What am I doing wrong and how to fix this issue?

0 Answers
Related