如何在Python的多索引数据框中导入多个Excel工作表?

时间:2019-05-29 17:02:05

标签: python arrays pandas dataframe

我正在尝试在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

我被困在这里。

1 个答案:

答案 0 :(得分:3)

sheet_name=Nonepd.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)