pandas read_excel(sheet name = None) returns 字符串字典,不是数据帧?

pandas read_excel(sheet name = None) returns a dictionary of strings, not dataframes?

pandas read_excel documentation 表示指定 sheet_name = None 应该 return "All sheets 作为 DataFrames 的字典。但是,当我尝试像这样使用它时,我得到了一个字符串字典。

target_file = "C:\file_here.xlsx"
data = pd.read_excel(target_file) 
print(type(data))
data = pd.read_excel(target_file, sheet_name = None)
print(type(data))
#print(data)
for sheet in data:
    print(type(sheet))

这个returns:

<class 'pandas.core.frame.DataFrame'>
<class 'collections.OrderedDict'>
<class 'str'>

我不明白为什么后面的return是字符串。我希望能够将每个 sheet 作为数据帧进行访问,对该 sheet(数据帧)执行字符串替换,然后使用 [= 将这些 sheet 放入新的 xlsx 文件中34=]。但我很困惑为什么 for sheet in data: 是 returning 字符串。

如果我在下面的代码片段中打印数据(有序字典),它会将数据帧打印到控制台。所以看起来我没有正确访问字典,但我想了解我到底做错了什么:

data = pd.read_excel(target_file, sheet_name = None)
print(type(data))
print(data)

data = pd.read_excel(target_file, sheet_name = None)returns一个Dict。 当您遍历 data 时,您将获得 Dict.

的键

尝试:

for key in data:
     print(data[key].head())