2017-12-12 6 views
1

pandas read_excel documentationは、sheet_name = Noneと指定すると、「すべてのシートがDataFrames辞書」として返されます。しかし、私はそれを使用するようにしようとすると、私は文字列の辞書を取得します。pandas read_excel(シート名=なし)は、データフレームではなく文字列の辞書を返しますか?

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) 
+0

あなたはドキュメントを読みましたか? –

+0

はい。問題は、辞書をリストとして扱い、それをループすることでした。 – SkillSet12345

答えて

1

data = pd.read_excel(target_file, sheet_name = None)Dictを返します。 dataをループすると、Dictのキーが得られます。

試してみてください。

for key in data: 
    print(data[key].head()) 
関連する問題