【代码】Python实现Excel数据合并

简介: 【代码】Python实现Excel数据合并

概要

通过遍历指定目录下的多个Excel文件,将它们的数据合并到一个新的Excel文件中,实现Excel数据合并的功能。

整体架构流程

代码的主要流程如下:

导入所需的库:os用于文件路径操作,openpyxl用于处理Excel文件。


定义目录路径和保存的新文件名:将要合并的Excel文件所在的目录路径赋值给dir_path变量,合并后的Excel文件的文件名赋值给new_file_name变量。


创建新的工作簿对象:通过Workbook()函数创建一个新的工作簿对象,并使用.active属性获取默认的工作表。


遍历目录下的所有xlsx文件:使用os.listdir()函数遍历指定目录下的所有文件,判断文件名是否以.xlsx结尾,如果是则认为是Excel文件。


读取文件中的工作表:使用load_workbook()函数加载Excel文件,得到一个工作簿对象,然后使用.active属性获取默认的工作表。


遍历数据行并复制到新的工作表中:通过iter_rows()方法遍历每一行的数据,将每一行的数据以列表的形式追加到新的工作表中。


保存合并后的数据到新文件中:使用save()方法将新的工作簿对象保存为一个新的Excel文件,文件路径为合并目录下的new_file_name。


打印合并完成的提示信息。

代码

import os
from openpyxl import Workbook, load_workbook

# 定义路径和保存的新文件名
dir_path = 'F:/code_test/fenlei'
new_file_name = 'merged.xlsx'

# 初始化一个新的工作簿对象
merged_book = Workbook()
merged_sheet = merged_book.active

# 遍历目录下的所有xlsx文件
for filename in os.listdir(dir_path):
    if filename.endswith('.xlsx'):
        file_path = os.path.join(dir_path, filename)
        print(f"Reading data from {file_path}")
        
        # 读取文件中的工作表
        file_book = load_workbook(file_path)
        file_sheet = file_book.active
        
        # 遍历数据行并将它们复制到新的工作表中
        for row in file_sheet.iter_rows(values_only=True):
            merged_sheet.append(row)

# 将数据保存到新文件中
merged_book.save(os.path.join(dir_path, new_file_name))

print("All files have been merged and saved to " + new_file_name)

小结

这段代码的功能是将指定目录下的多个Excel文件中的数据合并到一个新的Excel文件中。

相关文章
|
4天前
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
40 1
|
7天前
|
机器学习/深度学习 算法 调度
基于多动作深度强化学习的柔性车间调度研究(Python代码实现)
基于多动作深度强化学习的柔性车间调度研究(Python代码实现)
|
5天前
|
IDE 开发工具 开发者
Python类型注解:提升代码可读性与健壮性
Python类型注解:提升代码可读性与健壮性
162 102
|
3天前
|
存储 大数据 Unix
Python生成器 vs 迭代器:从内存到代码的深度解析
在Python中,处理大数据或无限序列时,迭代器与生成器可避免内存溢出。迭代器通过`__iter__`和`__next__`手动实现,控制灵活;生成器用`yield`自动实现,代码简洁、内存高效。生成器适合大文件读取、惰性计算等场景,是性能优化的关键工具。
42 2
|
7天前
|
JSON API 数据安全/隐私保护
Python采集淘宝评论API接口及JSON数据返回全流程指南
Python采集淘宝评论API接口及JSON数据返回全流程指南
|
7天前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
23 4
|
8天前
|
机器学习/深度学习 数据采集 并行计算
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
多步预测系列 | LSTM、CNN、Transformer、TCN、串行、并行模型集合研究(Python代码实现)
|
8天前
|
机器学习/深度学习 数据采集 算法
独家原创 | CEEMDAN-CNN-GRU-GlobalAttention + XGBoost组合预测研究(Python代码实现)
独家原创 | CEEMDAN-CNN-GRU-GlobalAttention + XGBoost组合预测研究(Python代码实现)
|
9天前
|
算法 调度 决策智能
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
【两阶段鲁棒优化】利用列-约束生成方法求解两阶段鲁棒优化问题(Python代码实现)
|
9天前
|
JavaScript 前端开发 安全
【逆向】Python 调用 JS 代码实战:使用 pyexecjs 与 Node.js 无缝衔接
本文介绍了如何使用 Python 的轻量级库 `pyexecjs` 调用 JavaScript 代码,并结合 Node.js 实现完整的执行流程。内容涵盖环境搭建、基本使用、常见问题解决方案及爬虫逆向分析中的实战技巧,帮助开发者在 Python 中高效处理 JS 逻辑。

推荐镜像

更多