使用 pandas 忽略来自 openpyxl 的 UserWarning

2024-02-16

我有大量必须加载的 .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(使用前将#替换为@)

使用 pandas 忽略来自 openpyxl 的 UserWarning 的相关文章

随机推荐

  • 动态 Oracle Pivot_In_Clause

    我有点卡住了 我想做一个用户角色关系数据透视表 到目前为止我的查询如下所示 WITH PIVOT DATA AS SELECT FROM SELECT USERNAME GRANTED ROLE FROM DBA USERS DB LINK
  • Firebase:javascript on() 事件中的查询过滤

    有没有办法过滤我想要带回 ref on value 内部的每个子项的哪些属性 假设我有结构https www firebase com docs data struct html https www firebase com docs da
  • PHP-从CSS中提取图像路径

    我有一个这样的样式表 d2 position absolute background url img delete png no repeat 0px 1px color 0066CC reply position absolute bac
  • 如何控制 Maven 中测试的执行顺序?

    我需要按顺序运行测试 我在任何地方都找不到对此进行充分记录的地方 我更喜欢从命令行执行此操作 就像是 mvn Dtest test1 test2 test3 test5 test 我该怎么做呢 您无法指定测试的运行顺序 执行此操作的解决方法
  • 泛型类中的静态方法?

    在Java中 我想要这样的东西 class Clazz
  • ServerManager CommitChanges 进行更改时略有延迟

    我对 ServerManager 类 来自 Microsoft Web Administration 程序集 有一个小问题 我希望你们中的一些人可以帮助我 基本上 我需要在站点内创建一个新应用程序 使用 IIS 7 5 并将用户重定向到同一
  • 使用 git-svn:拉取、合并还是变基?

    我一直在与 git git svn 学习曲线作斗争 昨晚 作为学习曲线的一部分 我做了一些非常非常糟糕的事情 我已经纠正了它 但我希望以我的方式理解错误 我有一个 svn 存储库 我从中克隆了主干和分支 我忽略了标签 因为我们不处理这些标签
  • tinyMCE模糊事件

    你好 当用户在tinyMCE文本区域中完成书写并单击外部某处 onBlur 时 我想做一些事情 到目前为止我已经尝试过 id topic text parent live blur function alert asd I saw id t
  • 为什么在 C++ 中我们需要使用 `int main` 而不是 `void main`? [复制]

    这个问题在这里已经有答案了 为什么我们需要使用int main并不是void main in C 简短的回答是因为 C 标准要求main 回来int 您可能知道 返回值main 运行时库使用函数作为进程的退出代码 Unix 和 Win32
  • 如何从切片中删除最后一个元素?

    我见过有人说只需通过附加旧切片来创建一个新切片 slc append slc item slc item 1 但是如果你想删除切片中的最后一个元素怎么办 如果您尝试更换i 最后一个元素 与i 1 它返回越界错误 因为没有i 1 您可以使用l
  • Keras“pickle_safe”:Python 中的“pickle 安全”或“不可 picklable”是什么意思?

    Keras fit generator 有一个参数pickle safe默认为False 如果有的话 训练可以跑得更快ispickle safe 并相应地将标志设置为True 根据Kera 的文档 https keras io models
  • JMock- java.lang.NoSuchMethodError: org.hamcrest.Matcher.describeMismatch()

    我知道解决方案是以某种方式确保 Junit 在 hamcrest 之后加载 我有一个 intellij 项目 在其中设置了一个外部库 其中包含 JUnit 和 JMock 以及 hamcrest 我怎样才能确保这个错误不会出现 junit
  • 迭代 Numpy 矩阵行以每行应用一个函数?

    我希望能够迭代矩阵以将函数应用于每一行 我该如何为 Numpy 矩阵做到这一点 您可以使用numpy apply along axis 假设你的数组是二维的 你可以像下面这样使用它 import numpy as np myarray np
  • 零长度数组

    我正在重构一些旧代码 并发现一些包含零长度数组的结构 如下 当然 警告被 pragma 抑制 但我无法通过包含此类结构的 新 结构创建 错误 2233 数组 byData 用作指针 但为什么不使用指针呢 或者长度为1的数组 当然 没有添加任
  • Ruby class_eval 方法

    我想弄清楚如何动态创建方法 class MyClass def initialize dynamic methods arr Array new dynamic methods arr each m self class class eva
  • Kotlin 中的普通类和数据类有什么区别?

    我尝试解决任务 6 DataClass 科特林公案 https github com vicboma1 Kotlin Koans named arguments 当我在代码中使用普通类时 测试用例失败 这是我的数据类代码 data clas
  • CMakeExternalProject_Add() 和 FindPackage()

    是否有正确的方法来查找图书馆 通过FindPackage 是用ExternalProject Add 问题是 CMake 无法在 CMake 时找到该库 因为外部库是在编译时构建的 我知道在超级构建中构建库和项目时可以组合这两个 CMake
  • 为什么投票机不开源? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 嗯 这只是与编程相关 但我想今天是选举日 对吧 是否有一个很好的理由说明为什么它们不开源 不一定是开源的 因为任何人都可以做出贡献 但开源是因为
  • 我可以在 Javascript 中识别(图形输入板)笔压吗?

    有没有办法使用 javascript 来识别笔压 最好我不想使用 Flash 并尝试将其作为纯 JS 完成 编辑 好吧 我意识到 Wacom 平板电脑有可能实现这一点 因为它们附带的软件可以与其 javascript api 配合使用 从而
  • 使用 pandas 忽略来自 openpyxl 的 UserWarning

    我有大量必须加载的 xlsm 文件 每个 Excel 文件有 6 个工作表 因此 我使用 pandas 打开每个 Excel 文件 for excel file in files list with pd ExcelFile excel f