熊猫read_excel返回PendingDeprecationWarning

时间:2020-02-18 20:11:45

标签: python pandas import openpyxl xlrd

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

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

对于self.tree.iter()中的元素,如果Element_has_iter否则self.tree.getiterator(): /usr/local/lib/python3.7/site-packages/xlrd/xlsx.py:312:PendingDeprecationWarning:将来的版本中将删除此方法。改用“ tree.iter()”或“ list(tree.iter())”。

如果element_has_iter否则self.tree.getiterator()中的self.tree.iter()中的元素:

在互联网上搜索,似乎xlrdopenpyxl取代了。现在我的问题是:

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

我的环境是:

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

1 个答案:

答案 0 :(得分:7)

目前,您的数据导入是“安全的”。要摆脱警告和过时的代码,请尝试:

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

或将其放在脚本的开头:

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