我正在使用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())
答案 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())
中进行了说明
答案 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())