Pandas read_excel返回PendingDeprecationWarning[英] Pandas read_excel returns PendingDeprecationWarning

本文是小编为大家收集整理的关于Pandas read_excel返回PendingDeprecationWarning的处理方法,想解了Pandas read_excel返回PendingDeprecationWarning的问题怎么解决?Pandas read_excel返回PendingDeprecationWarning问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

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

<块引用>

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

for elem in self.tree.iter() 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())".

for elem in self.tree.iter() if Element_has_iter else self.tree.getiterator():

搜索互联网,似乎 xlrd 正在被 openpyxl 取代.现在我的问题是:

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

我的环境是:

  • macOS Mojave 10.14.6
  • Python 3.7.6
  • 熊猫 1.0.0
  • xlrd 1.2.0

推荐答案

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

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

或将其放在脚本的开头:

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

本文地址:https://www.itbaoku.cn/post/1727796.html