我有大量必须加载的 .xlsm 文件。每个 Excel 文件有 6 个工作表。因此,我使用 pandas 打开每个 Excel 文件:
for excel_file in files_list:
with pd.ExcelFile(excel_file, engine = "openpyxl") as f:
df1 = pd.read_excel(f, "Sheet1")
df2 = pd.read_excel(f, "Sheet2")
df3 = pd.read_excel(f, "Sheet3")
...
每次迭代之后,我将 df 传递给其他函数并用它做一些事情。我在用pd.ExcelFile
将文件加载到内存中一次,然后将其分离到 DataFrame 上。
但是,执行此操作时,我收到以下警告:
/opt/anaconda3/lib/python3.8/site-packages/openpyxl/worksheet/_reader.py:300: UserWarning: Data Validation extension is not supported and will be removed
warn(msg)
无论警告如何,信息都会从 Excel 文件中正确加载,并且不会丢失任何数据。将每个 Excel 文件及其所有工作表加载到 df 中大约需要 0.8 秒。如果我使用 pandas 上的默认引擎来加载每个 Excel 文件,警告就会消失,但每个文件所需的时间会增加到 5 甚至 6 秒。
I saw this https://stackoverflow.com/questions/53965596/python-3-openpyxl-userwarning-data-validation-extension-not-supported帖子,但没有关于如何删除警告的答案,这正是我所需要的,因为一切正常。
我怎样才能禁用所述用户警告?
您可以使用以下方法执行此操作warnings
核心模块:
import warnings
warnings.filterwarnings('ignore', category=UserWarning, module='openpyxl')
您还可以通过添加参数来指定要消除警告的特定模块module="openpyxl"
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)