我正在尝试在Python的多索引数据框中导入包含多个包含相同二维数组结构的图纸的Excel文件。
假设每个工作表包含一个数组(A,B)x(a,b)。基本上我想拥有这样的东西
Sheet1 | Sheet2 | Sheet3
a | b | a | b | a | b
A
B
我尝试使用for循环。
df={}
for i in Sheets:
df[i] = pd.read_excel (r'file.xlsx', sheet_name = [i], header=0, index_col=0)
如果我回想起
,我希望df如此df['Sheet1']
我可以检索其中一个数组,这实际上可以正常工作。如果我想起这个问题,就会出现
df['Sheet1']['a']
检索第一张纸的第一列。但是,我收到以下错误消息
KeyError: a
我被困在这里。
答案 0 :(得分:3)
sheet_name=None
在pd.read_excel 将产生所有工作表的数字。用pd.concat
axis=1
pd.concat(pd.read_excel('Book1.xlsx', None, index_col=0), axis=1)
Sheet1 Sheet2 Sheet3
a b a b a b
A 1 2 1 2 1 2
B 3 4 3 4 3 4
您还可以通过传递名称列表来限制工作表
pd.concat(pd.read_excel('Book1.xlsx', ['Sheet1', 'Sheet2', 'Sheet3'], index_col=0), axis=1)