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

标签 python arrays pandas dataframe

我正在尝试在 Python 的多索引 Dataframe 中导入一个包含多个工作表的 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

我被困在这里了。

最佳答案

sheet_name=None pd.read_excel

将生成所有工作表的字典。使用 axis=1

将其传递给 pd.concat
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)

关于python - 如何在 Python 的多索引数据框中导入多个 Excel 工作表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56365415/

相关文章:

python - 将向量组合为 numpy 中的列矩阵

java - 根据数组列表中的对象类型执行不同的行为

arrays - ruby 中将对象数组转换为整数数组

python - 如何使用 Pandas 使用两列作为 VLOOKUP 的索引来执行条件 VLOOKUP?

python - 用于构建 TCP 服务器的良好 Python 网络库?

python - 如何用引号分隔逗号分隔的键值对

python - setup.py 中需要什么来创建轮子?

mysql - 如何用json对象用逗号分解字符串

python - 如何对 Pandas 的多索引进行分组?

python - Pandas 从列表中重命名 df 行