Pandas通过工作表名称读取Excel,返回字典而不是DataFrame

9nvpjoqh  于 2024-01-04  发布在  其他
关注(0)|答案(1)|浏览(107)

我试图从多表Excel文件中读取特定工作表。我收到此错误消息:

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_3276/178007814.py in <module>
      5 df = pd.read_excel("VMS.xlsx", sheet_name=['PS VMs'], usecols=['Name'])
      6 
----> 7 df.head()

AttributeError: 'dict' object has no attribute 'head'

字符串
看起来我从工作表中得到了一个字典,而不是Dataframe!

import pandas as pd
import numpy as np

df = pd.read_excel("VMS.xlsx", sheet_name=['PS VMs'], usecols=['Name'])

df.head()


我该怎么解决这个问题?

s5a0g9ez

s5a0g9ez1#

如文档中所述,如果您提供list(即使是单个元素)或None(所有表),Pandas将创建一个框架字典。
下面的调用确实返回了dict

import pandas as pd
pd.read_excel("Dummy.xlsx", sheet_name=[0])

字符串
在代码中,更改为:

df = pd.read_excel("VMS.xlsx", sheet_name='PS VMs', usecols=['Name'])


如果您想直接拥有框架。或者:

df["PS VMs"].head()


如果您确实需要在列表中列出图纸名称。

相关问题