Python 如何忽略openpyxl的_reader.py:300中的用户警告?
使用Python 如何忽略openpyxl的_reader.py:300中的用户警告?,python,python-3.x,openpyxl,Python,Python 3.x,Openpyxl,使用openpyxl时,会发出UserWarning,该警告显示在日志记录消息之间的终端中 如何忽略\u reader.py:300中发出的此用户警告(请参见下文) 我曾尝试将代码包装在warnings.catch_warnings()中,并使用warnings.simplefilter('ignore'),但我怀疑我看到了警告,因为它没有在\u reader.py中处理(请确认) 有没有办法禁用openpyxl的所有警告 警告: /usr/local/lib/python3.8/site-pa
openpyxl
时,会发出UserWarning
,该警告显示在日志记录
消息之间的终端中
如何忽略\u reader.py:300中发出的此用户警告(请参见下文)
我曾尝试将代码包装在warnings.catch_warnings()
中,并使用warnings.simplefilter('ignore')
,但我怀疑我看到了警告,因为它没有在\u reader.py
中处理(请确认)
有没有办法禁用openpyxl的所有警告
警告
:
/usr/local/lib/python3.8/site-packages/openpyxl/worksheet/_reader.py:300: UserWarning: Data Validation extension is not supported and will be removed
warn(msg)
\u reader.py:300:
def parse_extensions(self, element):
extLst = ExtensionList.from_tree(element)
for e in extLst.ext:
ext_type = EXT_TYPES.get(e.uri.upper(), "Unknown")
msg = "{0} extension is not supported and will be removed".format(ext_type)
warn(msg)
with warnings.catch_warnings():
warnings.simplefilter('ignore')
row_values = []
with io.BytesIO(data) as buf:
wb = openpyxl.load_workbook(buf, read_only=True)
for ws in wb.worksheets:
# produce cell values from the worksheet, by row
for row in ws.iter_rows(min_row=ws.min_row, max_row=min(ws.max_row, ws.min_row + 10000),
min_col=ws.min_column, max_col=min(ws.max_row, ws.min_row + 10000),
values_only=True):
values = []
for value in row:
if value is not None:
values.append(str(value))
if values:
row_values.append(values)
return '\n'.join([','.join(value for value in values) for values in row_values
代码:
def parse_extensions(self, element):
extLst = ExtensionList.from_tree(element)
for e in extLst.ext:
ext_type = EXT_TYPES.get(e.uri.upper(), "Unknown")
msg = "{0} extension is not supported and will be removed".format(ext_type)
warn(msg)
with warnings.catch_warnings():
warnings.simplefilter('ignore')
row_values = []
with io.BytesIO(data) as buf:
wb = openpyxl.load_workbook(buf, read_only=True)
for ws in wb.worksheets:
# produce cell values from the worksheet, by row
for row in ws.iter_rows(min_row=ws.min_row, max_row=min(ws.max_row, ws.min_row + 10000),
min_col=ws.min_column, max_col=min(ws.max_row, ws.min_row + 10000),
values_only=True):
values = []
for value in row:
if value is not None:
values.append(str(value))
if values:
row_values.append(values)
return '\n'.join([','.join(value for value in values) for values in row_values