我正在通过
阅读一些XLS文件import os
import pandas as pd
path = r'pathtofolder'
files = os.listdir(path=path)
dataframes = {}
for file in files:
filepath = path + '\\' + file
if filepath[-3:] == 'xls':
print(file)
dataframes[file] = pd.read_excel(filepath)
由于某些原因,我无法访问字典中的数据帧,因为.head()似乎不起作用:
for file, dataframe in dataframes.items():
dataframe.head()
此代码似乎在Jupyter中没有做任何事情。但是当我输入()数据帧时,我得到一个pandas.core.frame.DataFrame,所以head应该正常工作,对吗?
答案 0 :(得分:1)
以前没有使用过Python数据帧,但我不认为你的for循环会以这种方式给你任何输出。它只是一个运行循环,在计算最后一个磁头时结束。您可以使用print()查看输出。
for file, dataframe in mydict.items():
print(dataframe.head())
或者创建一个可重复使用的dataframe.head()列表,如下所示。您可以随时在控制台中输入列表名称以便稍后查看。请原谅用于创建数据帧字典的代码。
import pandas as pd
from sklearn import datasets
iris = pd.DataFrame(datasets.load_iris().data)
digits = pd.DataFrame(datasets.load_digits().data)
diabetes = pd.DataFrame(datasets.load_diabetes().data)
dataframes={'a':iris,'b':digits,'c':diabetes} #create a dictionary of dataframes
list_heads=[] #create a list of dataframe head()
for i in dataframes:
list_heads.append(dataframes[i].head())
list_heads