文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python——对多个Excel文件的多个sheet表分别合并

2023-09-23 13:58

关注

        工作中遇到需要合并多个sheet表的逐月数据的excel文件。即对多月数据,依据sheet表进行合并,最终形成年度数据。(该方法不要求文件名有规律,也不要求sheet表名称有规律)

如:文件结构

 

 

以下为处理方法:

首先自动获取所有的sheet名:

# 导入所需包import pandas as pdimport glob  ## 用于循环目录文件# 先读取一个excel文件,获取其全部的sheet名df = pd.ExcelFile('./test.xlsx')print(df.sheet_names)## 结果## ['Sheet1', 'Sheet2', 'Sheet3']

合并处理:

        对每个sheet名,循环遍历所有excel文件,读取该sheet表内容,进行合并。并将合并后的结果,写进 concat_path 文件中相应的sheet里。

# 设置合并后的数据要写入的excel文件路径concat_path = './合并后文件.xlsx'writer = pd.ExcelWriter(concat_path)sheet_names = df.sheet_names# 获取 dir_path 路径下的所有 '.xlsx' 格式文件的路径files=glob.glob(dir_path + '/*.xlsx')print(files)## 输出:## ['D:\\test\\data\\test_data1.xlsx', 'D:\\test\\data\\test_data2.xlsx']"""对每个sheet名,循环遍历excel文件,读取该sheet表,进行合并,并将合并后的结果,写进 concat_path 中相应的sheet里"""## 对每个sheetfor sheet in sheet_names:      ## 创建一个空数据框,用于存储同一个sheet名对应的所有文件中的数据    test_df = pd.DataFrame()    ## 对每个文件    for file in files:        with pd.ExcelFile(file) as xlsx:             ## 读取该sheet表内容,header=5 表示第6行是列名,数据从第7行开始            row_df = pd.read_excel(xlsx, sheet, header=5)        if not int(row_df.size) > 0:  # 判断该sheet是否空白            continue        else:  # 有内容则进行合并            test_df = pd.concat([test_df, row_df], axis=0) # 按行拼接        # 写入新excel文件的相应sheet表中    test_df.to_excel(writer,sheet_name=sheet,index=False)writer.save()

以上。

来源地址:https://blog.csdn.net/weixin_53848907/article/details/131635156

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯