【问题标题】:pd.read_excel("file.xlsx") does not create 'DataFrame' but 'OrderedDict'pd.read_excel("file.xlsx") 不创建“DataFrame”而是创建“OrderedDict”
【发布时间】:2019-06-18 12:08:25
【问题描述】:

我目前正在开展一个使用 pandas 进行数据科学的项目。我使用 Spyder 作为 IDE。但是,在安装和测试 VSCode 之后,我的代码遇到了问题,因为 pandas 似乎没有像以前那样工作。

我正在从 Excel 文件创建一个 DataFrame,目前仅使用其中的一个示例(用于测试目的)。

import pandas as pd

data = pd.read_excel("Input.xlsx", sheet_name=None)
sample = data.sample(n=20, random_state=1).reset_index()

但是,我的数据变量现在是“OrderedDict”类型,而不是“DataFrame”类型。因此,示例功能也不起作用:

AttributeError: 'collections.OrderedDict' object has no attribute 'sample'

我已经尝试卸载并重新安装 pandas,但它没有帮助。顺便说一句,它在任何一个 IDE 中都不起作用。

问题是在我安装 VSCode 并尝试在其中运行代码之后发生的。有任何想法吗?

【问题讨论】:

    标签: python excel python-3.x pandas


    【解决方案1】:

    sheet_name=None 表示您想要数据框字典,字典中的每个项目代表不同的工作表。

    如果您的工作簿中只有一个工作表,请不要指定 sheet_name

    或者,如果您有多个工作表并且只想阅读一个工作表,请明确指定它,例如sheet_name='my_sheet_name'.

    documentation 列出了选项:

      Defaults to 0   |                        1st sheet as a DataFrame
                  1   |                        2nd sheet as a DataFrame
           "Sheet1"   |                        1st sheet as a DataFrame
     [0,1,"Sheet5"]   |    1st, 2nd & 5th sheet as a dict of DataFrames
               None   |        All sheets as a dictionary of DataFrames
    

    【讨论】:

    • 哇哦...就是这么简单。非常感谢!看来我以前用过旧版本的熊猫!
    • 这很容易混淆,所以谢谢你的分类。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 2022-10-01
    • 1970-01-01
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多