Help with import error 'BadZipFile' from 'openpyxl'

AS14
Level 1
Help with import error 'BadZipFile' from 'openpyxl'

How do I deal with this error -

I am getting this error: 

Error in Python process: At line 7: <class 'ImportError'>: cannot import name 'BadZipFile' from 'openpyxl' (/data/DATA_DIR/code-envs/python/ERM_Python_38/lib/python3.8/site-packages/openpyxl/__init__.py)

 

 this is my library code: 

import dataiku
import pandas as pd, numpy as np
from pandas import ExcelWriter
from openpyxl import load_workbook, BadZipFile

def is_valid_excel(file_name):
try:
load_workbook(file_name)
return True
except BadZipFile:
return False

def write_dataframe_to_excel(file_name, sheetname, dataframe):
if is_valid_excel(file_name):
# Open the Excel file
writer = pd.ExcelWriter(file_name, mode="a", engine="openpyxl", if_sheet_exists="replace")

with writer:
dataframe.to_excel(writer, sheet_name=sheetname, index=False)

# Save the changes and close the Excel file
writer.save()
else:
# If the file is not a valid Excel file, create a new one
writer = pd.ExcelWriter(file_name, engine="openpyxl")

with writer:
dataframe.to_excel(writer, sheet_name=sheetname, index=False)

# Save the changes and close the Excel file
writer.save()

 

0 Kudos
1 Reply
JordanB
Dataiker

Hi @AS14,

You'll need to replace 'from openpyxl import BadZipFile' with:

from zipfile import BadZipFile
Let me know if you have any questions.
 
Thanks!
Jordan
0 Kudos