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

Ski*_*345 7 python pandas pandas-datareader

pandas read_excel 文档说指定sheet_name = None应该返回“所有工作表作为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))
Run Code Online (Sandbox Code Playgroud)

这将返回:

<class 'pandas.core.frame.DataFrame'>
<class 'collections.OrderedDict'>
<class 'str'>
Run Code Online (Sandbox Code Playgroud)

我不明白为什么后者返回字符串。我希望能够将每个工作表作为数据框访问,在该工作表(数据框)上执行字符串替换,然后使用 to_excel 将这些工作表放入新的 xlsx 文件中。但我很困惑为什么for Sheet in data:返回字符串。

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

data = pd.read_excel(target_file, sheet_name = None)
print(type(data))
print(data)
Run Code Online (Sandbox Code Playgroud)

KPL*_*zen 5

data = pd.read_excel(target_file, sheet_name = None)返回一个Dict. 当你循环时,data你会得到 的密钥Dict

尝试:

for key in data:
     print(data[key].head())
Run Code Online (Sandbox Code Playgroud)