1try: 2 from xlrd import xlsx 3except ImportError: 4 pass 5else: 6 from lxml import etree 7 # xlrd.xlsx supports defusedxml, defusedxml's etree interface is broken 8 # (missing ElementTree and thus ElementTree.iter) which causes a fallback to 9 # Element.getiterator(), triggering a warning before 3.9 and an error from 3.9. 10 # 11 # We have defusedxml installed because zeep has a hard dep on defused and 12 # doesn't want to drop it (mvantellingen/python-zeep#1014). 13 # 14 # Ignore the check and set the relevant flags directly using lxml as we have a 15 # hard dependency on it. 16 xlsx.ET = etree 17 xlsx.ET_has_iterparse = True 18 xlsx.Element_has_iter = True 19