【问题标题】:Cannot load data from spreadsheet properly无法从电子表格正确加载数据
【发布时间】:2021-02-07 10:11:17
【问题描述】:

我有一个如下所示的电子表格:

我正在尝试将其读入数据框:

def loading_nasdaq_info_from_spreadsheet():
    excel_file = 'nasdaq.xlsx'
    nasdaq_info_dataframe = pandas.read_excel(excel_file, index_col=0)
    # data cleaning
    nasdaq_info_dataframe.dropna()

    return nasdaq_info_dataframe


if __name__ == '__main__':
    df = loading_nasdaq_info_from_spreadsheet()
    print(df.loc['symbol'])

我经常得到

"raise KeyError(key) from err KeyError: 'Symbol'"

我想打印或使用哪个键并不重要。它总是同样的错误。更糟糕的是,即使我在尝试时手动(在 excel 中)将所有内容都设置为文本

nasdaq_info_dataframe.applymap(lambda text: text.strip())

我明白了

'float' 没有 strip()

我已经为此奋斗了几个小时,所以请帮助我。

编辑:

打印

print(df.loc)

给予

打印

打印(df.columns)

给予

索引(['Name', 'Sector', 'Industry'], dtype='object')

此外,如果我通过删除“index_col=0”来删除多索引,我在打印 df.loc['Symbol'] 时仍然会遇到相同的 keyerror

打印 df.head() 给出

【问题讨论】:

  • 你能用print(df.loc) 替换print(df.loc['symbol']) 看看打印出来的内容吗?然后用结果更新您的问题?
  • 是的,我编辑了帖子@Oddity
  • 使用df.columns 获取列名。
  • print(df.head()) 的输出是什么。
  • @Ferris 又一次,我更新了帖子,看起来阅读文件中出了点问题,但我不知道是什么

标签: python pandas


【解决方案1】:

问题出在df.loc['symbol']

请改用df.loc[:, 'Symbol']df['Symbol']

如果Symbol是df的索引,那么先应用df = df.reset_index()

您可以在 pandas 官方指南Indexing and selecting data 中获得更多详细信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-22
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 2015-09-03
    • 1970-01-01
    相关资源
    最近更新 更多