Pandas read_excel возвращает PendingDeprecationWarning - PullRequest
0 голосов
/ 18 февраля 2020

Я импортировал файлы Excel в виде фреймов данных Pandas, используя функцию read_excel, но пока без каких-либо явных проблем. Однако я только что понял, что после некоторых последних обновлений я получаю следующее предупреждение:

/ 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 ())».

для элемента в self.tree.iter (), если Element_has_iter остальное self.tree.getiterator ():

При поиске inte rnet кажется, что xlrd заменяется на openpyxl. Теперь мои вопросы:

  • Что означает это предупреждение и что мне делать?
  • Безопасен ли мой импорт данных в данный момент? Должен ли я волноваться, что что-то не работает должным образом?
  • Что это за методы tree.iter() или list(tree.iter())? и что они заменяют?
  • Есть ли другой способ импортировать файлы Excel как pandas фреймы данных без получения этого предупреждения уже?
  • Должен ли я сообщать об ошибке или проблемах где-нибудь? Где?

Моя среда:

  • macOS Мохаве 10.14.6
  • Python 3.7.6
  • Pandas 1.0.0
  • xlrd 1.2.0

1 Ответ

2 голосов
/ 16 марта 2020

Ваш импорт данных в настоящий момент "безопасен". Чтобы избавиться от предупреждения и защитить ваш код в будущем, попробуйте:

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

или поместите его в начале скрипта:

import pandas as pd
pd.set_option("xlsx", "openpyxl")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...