pandas结合Excel电子表格

发布于 2021-01-29 17:40:34

我有一个带有许多选项卡的Excel工作簿。每个选项卡与所有其他选项卡具有相同的标题集。我想将每个选项卡中的所有数据合并到一个数据帧中(而无需重复每个选项卡的标题)。

到目前为止,我已经尝试过:

import pandas as pd
xl = pd.ExcelFile('file.xlsx')
df = xl.parse()

可以在parse参数中使用表示“所有电子表格”的内容吗?还是这是错误的方法?

提前致谢!

更新:我尝试过:

a=xl.sheet_names
b = pd.DataFrame()
for i in a:
    b.append(xl.parse(i))
b

但这不是“工作”。

关注者
0
被浏览
82
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    这是一种实现方法-将所有工作表加载到数据帧的字典中,然后将字典中的所有值连接到一个数据帧中。

    import pandas as pd
    

    将工作表名称设置为“无”,以便将所有工作表加载到数据帧的字典中,并忽略索引,以避免以后出现重叠值(请参阅@bunji的评论)

    df = pd.read_excel('tmp.xlsx', sheet_name=None, index_col=None)
    

    然后连接所有数据框

    cdf = pd.concat(df.values())
    
    print(cdf)
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看