5

运行以下 Python Panda 代码时:

    xl          = pd.ExcelFile(dataFileUrl)
    sheets      = xl.sheet_names
    data        = xl.parse(sheets[0])
    colheaders  = list(data)

我收到 ValueError:

Must explicitly set engine if not passing in buffer or path for io

该文件肯定是一个excel文件,这一点毫无疑问。

怎么了?

4

5 回答 5

9

我会尝试

xl = pd.ExcelFile(dataFileUrl, engine='xlrd')
于 2017-03-22T11:21:59.513 回答
1

我遇到了同样的问题,这是因为生成 dataFileUrl 的代码生成了一个列表,其中只有一个元素。更改为 dataFileUrl[0] 解决了这个问题。

于 2018-06-27T17:21:06.313 回答
0

如果您将文件路径指定为:

#Read and write to excel
dataFileUrl = R"D:\\real_names.xlsx"
data = pd.read_excel(dataFileUrl)

它可能会起作用。我已经尝试和测试过。

于 2018-03-28T07:57:29.957 回答
0

有时你只需要升级熊猫版本

pip install --upgrade pandas
于 2022-01-05T11:53:14.907 回答
0

我有同样的错误。我最终使用以下代码将所需的 excel 文件从 Github 存储库中获取到 Pandas 数据框中:

excel_url = R"https://github.com/user/repository/blob/master/public/data/filename.xlsx?raw=true"
df = pd.io.excel.read_excel(excel_url)
于 2021-01-15T01:57:28.303 回答