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

时间:2017-12-12 09:17:12

标签: python pandas pandas-datareader

pandas read_excel documentation表示指定 sheet_name =无应返回" 所有工作表作为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))

返回:

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

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

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

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

1 个答案:

答案 0 :(得分:3)

data = pd.read_excel(target_file, sheet_name = None)返回Dict。 当您循环data时,您会获得Dict的密钥。

尝试:

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