Repository: pandas-dev/pandas

Issue:
Update documentation on pd.read_excel, to reflect the fact that support for OpenDocument files is available
```python
class ExcelFile:
    """
    Class for parsing tabular excel sheets into DataFrame objects.
    Uses xlrd. See read_excel for more documentation

    Parameters
    ----------
    io : string, path object (pathlib.Path or py._path.local.LocalPath),
        file-like object or xlrd workbook
        If a string or path object, expected to be a path to xls or xlsx file.
    engine : string, default None
        If io is not a buffer or path, this must be set to identify io.
        Acceptable values are None or ``xlrd``.
    """

    from pandas.io.excel._odfreader import _ODFReader
    from pandas.io.excel._openpyxl import _OpenpyxlReader
    from pandas.io.excel._xlrd import _XlrdReader

    _engines = {"xlrd": _XlrdReader, "openpyxl": _OpenpyxlReader, "odf": _ODFReader}

```
#### Problem description

I was searching for support for reading _.ods_ files, and upon reading the documentation for _read_excel_ and IO related functions, I found nothing. 

When I was about to search for another library, I discovered that support had already been added to the _read_excel_ function (as of #2311), but the docs weren't updated, either in _ExcelFile_, or in the _read_excel_ function, and as suggested when creating the issue https://pandas-docs.github.io/pandas-docs-travis/ also wasn't. I also didn't find any related issue regarding this.

I might be missing something, since it is my first issue, sorry about that if it's the case.

I'd suggest even something along the lines of: 
```
    Parameters
    ----------
    io : string, path object (pathlib.Path or py._path.local.LocalPath),
        file-like object or xlrd workbook
        If a string or path object, expected to be a path to xls or xlsx file.
    engine : string, default None
        If io is not a buffer or path, this must be set to identify io.
        Acceptable values are None, ``xlrd``, ``openpyxl`` or ``odf``.
        Note that ``odf`` reads tables out of OpenDocument formatted files.
    """
```
for both _ExcelFile_ and _read_excel_. That would make visible that support for other engines is available.

Thanks.




Discussion:
Makes sense - would certainly take a PR if you'd like to try one

Resolving patch:
diff --git a/pandas/io/excel/_base.py b/pandas/io/excel/_base.py
--- a/pandas/io/excel/_base.py
+++ b/pandas/io/excel/_base.py
@@ -112,7 +112,7 @@
 
 engine : str, default None
     If io is not a buffer or path, this must be set to identify io.
-    Acceptable values are None or xlrd.
+    Acceptable values are None, "xlrd", "openpyxl" or "odf".
 converters : dict, default None
     Dict of functions for converting values in certain columns. Keys can
     either be integers or column labels, values are functions that take one
@@ -783,11 +783,12 @@ class ExcelFile:
     Parameters
     ----------
     io : string, path object (pathlib.Path or py._path.local.LocalPath),
-        file-like object or xlrd workbook
-        If a string or path object, expected to be a path to xls or xlsx file.
+        a file-like object, xlrd workbook or openpypl workbook.
+        If a string or path object, expected to be a path to xls, xlsx or odf file.
     engine : string, default None
         If io is not a buffer or path, this must be set to identify io.
-        Acceptable values are None or ``xlrd``.
+        Acceptable values are None, ``xlrd``, ``openpyxl`` or ``odf``.
+        Note that ``odf`` reads tables out of OpenDocument formatted files.
     """
 
     from pandas.io.excel._odfreader import _ODFReader


Test patch: