我一直在使用该read_excel函数将 Excel 文件作为 Pandas 数据框导入,到目前为止没有明显问题。但是,我刚刚意识到,在最近的一些更新之后,我收到了以下警告:

    /usr/local/lib/python3.7/site-packages/xlrd/xlsx.py:266:PendingDeprecationWarning:此方法将在未来版本中删除。请改用“tree.iter()”或“list(tree.iter())”。

    对于 self.tree.iter() 中的 elem if Element_has_iter else self.tree.getiterator(): /usr/local/lib/python3.7/site-packages/xlrd/xlsx.py:312: PendingDeprecationWarning: 这个方法将是在以后的版本中删除。请改用“tree.iter()”或“list(tree.iter())”。

    对于 self.tree.iter() 中的 elem if Element_has_iter else self.tree.getiterator():

    上网查了一下,好像xlrdopenpyxl. 现在我的问题是:

    • 这个警告是什么意思,我该怎么办?
    • 此时我的数据导入安全吗?我是否必须担心某些东西无法正常工作?
    • 那些tree.iter()list(tree.iter())方法是什么?他们正在取代什么?
    • 是否有另一种方法可以将 Excel 文件作为 pandas 数据框导入而不会收到此警告?
    • 我应该在某处报告错误或问题吗?在哪里?

    我的环境是:

    • macOS 莫哈韦 10.14.6
    • Python 3.7.6
    • pandas1.0.0
    • xlrd 1.2.0

    您的数据导入目前是“安全的”。要消除警告并使您的代码面向未来,请尝试:

    1. pd.read_excel(filename, engine="openpyxl")

    或将其放在脚本的开头:

    1. import pandas as pd
    2. pd.set_option("xlsx", "openpyxl")