Python Pandas的“ head”属性不起作用

时间:2018-10-17 02:57:00

标签: python pandas

我正在使用python和pandas做一个快速脚本来处理某些数据,但是,我试图打印'head',但是当我得到一个错误时。有任何想法可能是什么问题吗?

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

import pandas as pd
my_file_location = "whatever.xlsx"
dfs = pd.read_excel(my_file_location, sheet_name=None)

print(dfs.head())

2 个答案:

答案 0 :(得分:2)

您正在加载具有多个工作表的工作簿,并将sheet_name = None传递给pd.read_excel(),这告诉工作簿将工作表中的所有工作表都加载并作为字典返回。从字典中选择一张工作表,或将工作表的名称传递给pd.read_excel()

例如,显示所有图纸:

import pandas as pd
my_file_location = "whatever.xlsx"
dfs = pd.read_excel(my_file_location, sheet_name=None)
for n,d in dfs.items():
  print('Sheet Name:{}'.format(n))
  print(d.head())

或选择名为“ somename”的工作表:

import pandas as pd
my_file_location = "whatever.xlsx"
dfs = pd.read_excel(my_file_location, sheet_name='somename')
print(d.head())

更多选项在documentation for pandas.read_excel()

中进行了说明

答案 1 :(得分:0)

并缩短Craig的解决方案:

import pandas as pd
my_file_location = "whatever.xlsx"
dfs = pd.read_excel(my_file_location, sheet_name=None)
[(print('Sheet Name:{}'.format(n)),print(d.head())) for n,d in dfs.items()]

在列表理解中使用print

您的代码存在问题是因为dfs是具有head属性的对象序列:-)(有趣的解释方式)

如果工作表仅包含一张工作表:

...
print(dfs[0].head())