我一直在使用该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():
上网查了一下,好像xlrd
被openpyxl
. 现在我的问题是:
- 这个警告是什么意思,我该怎么办?
- 此时我的数据导入安全吗?我是否必须担心某些东西无法正常工作?
- 那些
tree.iter()
或list(tree.iter())
方法是什么?他们正在取代什么? - 是否有另一种方法可以将 Excel 文件作为 pandas 数据框导入而不会收到此警告?
- 我应该在某处报告错误或问题吗?在哪里?
我的环境是:
- macOS 莫哈韦 10.14.6
- Python 3.7.6
- pandas1.0.0
- xlrd 1.2.0
您的数据导入目前是“安全的”。要消除警告并使您的代码面向未来,请尝试:
pd.read_excel(filename, engine="openpyxl")
或将其放在脚本的开头:
import pandas as pd
pd.set_option("xlsx", "openpyxl")