如何使用 Python 合并多个 Excel 文件

在日常工作中,处理多个 Excel 文件并将它们合并为一个文件,常常是数据分析、报告生成等工作的必要步骤。对于数据分析师、业务人员以及任何需要处理大量 Excel 数据的人来说,这是一项常见且繁琐的任务。与其手动复制粘贴不同工作表中的数据,不如使用 Python 自动化这一过程,既省时又高效。

本文将介绍两种使用 Python 合并 Excel 文件的方法。这些方法可以帮助您简化合并过程,尤其是在处理大数据集时,节省大量的时间和精力。

前提条件

要通过编程方式操作 Excel 文件,您需要一个支持 Excel 文件处理的库。在本篇文章中,我们使用 Spire.XLS for Python,这是一个可以读取、修改和保存 Excel 文件的 Python 库,且不依赖于 Microsoft Excel。

您可以使用以下命令通过 pip 安装该库:

pip install spire.xls

安装完成后,您就可以在 Python 中操作 Excel 文件,通过 API 提供的样式相关属性,控制单元格对齐、文本旋转等功能。


方法一:将多个 Excel 文件合并成一个工作簿(多个工作表)

这种方法将多个 Excel 文件合并为一个工作簿,并保留每个文件中的原始工作表。适用于您希望保留文件原有结构,同时又需要将多个文件合并到一个工作簿中的情况。

代码示例:

import os from spire.xls import * # 存放要合并的 Excel 文件的文件夹 input_folder = './sample_files' # 合并后的工作簿文件名 output_file = 'merged_workbook.xlsx' # 初始化合并的工作簿 merged_workbook = None # 遍历输入文件夹中的所有文件 for filename in os.listdir(input_folder): # 只处理 .xls 或 .xlsx 格式的 Excel 文件 if filename.endswith('.xlsx') or filename.endswith('.xls'): file_path = os.path.join(input_folder, filename) # 加载当前的 Excel 文件 source_workbook = Workbook() source_workbook.LoadFromFile(file_path) if merged_workbook is None: # 第一个文件作为基础合并工作簿 merged_workbook = source_workbook else: # 后续文件将其工作表复制到合并工作簿中 for i in range(source_workbook.Worksheets.Count): sheet = source_workbook.Worksheets.get_Item(i) merged_workbook.Worksheets.AddCopy(sheet, WorksheetCopyType.CopyAll) # 将合并后的工作簿保存到指定的文件 merged_workbook.SaveToFile(output_file, ExcelVersion.Version2016)

工作原理:

  1. 设置文件夹路径:指定存放 Excel 文件的文件夹(input_folder)。
  2. 遍历文件:脚本会检查文件夹中的每个文件,确保它们是.xls.xlsx格式的文件。
  3. 加载工作簿:对于每个文件,脚本将其加载到Workbook对象中。
  4. 合并工作表:第一个文件初始化了merged_workbook,后续文件的工作表会被复制到这个工作簿中。
  5. 保存输出:最后,合并后的工作簿会保存到指定的文件。

输出:

最终输出将是一个名为 ​​merged_workbook.xlsx​​ 的 Excel 文件,包含了所有 Excel 文件的工作表。


方法二:将多个 Excel 文件合并到一个工作表中

在这种方法中,我们将多个 Excel 文件的数据合并到一个工作表中。这种方法非常适合将不同工作表中的数据合并为一个工作表,数据按文件顺序依次排列。

代码示例:

import os from spire.xls import * # 存放要合并的 Excel 文件的文件夹 input_folder = './excel_worksheets' # 合并后的工作簿文件名 output_file = 'merged_into_one_sheet.xlsx' # 创建一个新的工作簿来存放合并的数据 merged_workbook = Workbook() # 使用新工作簿中的第一个工作表作为目标工作表 merged_sheet = merged_workbook.Worksheets[0] # 初始化开始复制数据的行 current_row = 1 # 遍历输入文件夹中的所有文件 for filename in os.listdir(input_folder): # 只处理 .xls 或 .xlsx 格式的 Excel 文件 if filename.endswith('.xlsx') or filename.endswith('.xls'): file_path = os.path.join(input_folder, filename) # 加载当前的 Excel 文件 workbook = Workbook() workbook.LoadFromFile(file_path) # 获取当前工作簿的第一个工作表 sheet = workbook.Worksheets[0] # 获取工作表中已使用的范围 source_range = sheet.Range # 设置目标工作表中的复制范围,从当前行开始 dest_range = merged_sheet.Range[current_row, 1] # 将数据从源范围复制到目标范围 source_range.Copy(dest_range) # 更新 current_row,确保不会覆盖已复制的数据 current_row += sheet.LastRow # 将合并后的工作簿保存到指定的输出文件 merged_workbook.SaveToFile(output_file, ExcelVersion.Version2016)

工作原理:

  1. 初始化工作簿:创建一个新的工作簿来存放所有合并的数据。
  2. 遍历文件:像方法一一样,脚本会遍历文件夹中的所有 Excel 文件。
  3. 复制数据:对于每个文件,脚本将其第一个工作表的数据复制到目标工作表中。
  4. 更新行索引current_row用来确保每个文件的数据不会覆盖,自动跳到下一个可用的行。
  5. 保存输出:将合并后的数据保存到merged_into_one_sheet.xlsx文件中。

输出:

结果将是一个工作表,包含了来自所有 Excel 文件的数据,数据按文件顺序排列。


总结

将多个 Excel 文件合并为一个文件是一个常见的任务,尤其是当您需要处理大量文件时,手动操作非常繁琐。使用 Python 和 Spire.XLS 库,您可以轻松地自动化这一过程,从而节省大量时间和精力。

  • 方法一适合当您希望保留每个文件的结构,并将其工作表保留在独立标签中的场景。
  • 方法二更适合将多个工作表的数据合并到一个工作表中,便于汇总或分析信息。

这两种方法都可以根据您的需求进行定制,设置好之后,它们将极大地提升您的工作效率,尤其是在处理多个 Excel 文件时。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1137702.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分享演唱会攻略-抢票利器

> 📚 本指南适合零基础小白,手把手教你从零开始安装和使用抢票工具本项目仅供学习研究使用,严禁用于商业用途和违法行为!重要说明学习目的:本软件仅用于技术研究、学习交流,不得用于任何商业用途法律责任…

Qwen2.5-7B模型热更新:不间断服务升级方案

Qwen2.5-7B模型热更新:不间断服务升级方案 1. 背景与挑战:大模型服务的可用性需求 随着大语言模型在生产环境中的广泛应用,服务的高可用性和持续响应能力成为关键指标。以 Qwen2.5-7B 为代表的高性能开源大模型,广泛应用于智能客…

如何使用 JAVA 将 PDF 转换为 PPT:完整指南

在日常工作中,我们常常需要将 PDF 文件转换为 PPT 文件,尤其是在需要展示报告、项目文件、文档或其他重要信息时。PDF 格式通常用于文档存档,但在需要制作演示文稿时,PPT 格式更为灵活。本文将介绍如何使用 Java 语言通过 Spire.P…

Qwen2.5-7B对话策略:多轮交互设计

Qwen2.5-7B对话策略:多轮交互设计 1. 引言:构建高效多轮对话的挑战与机遇 1.1 多轮交互在现代AI应用中的核心地位 随着大语言模型(LLM)在客服、智能助手、教育辅导等场景的广泛应用,单轮问答已无法满足真实业务需求…

快速理解USB3.2速度与通道损耗的关系模型

揭开USB3.2真实速度的“黑箱”:信号损耗如何悄悄吞噬你的带宽?你有没有遇到过这样的情况?明明设备标着“支持USB3.2 Gen2,10 Gbps”,可实测传输外置SSD时却只能跑到700 MB/s,甚至频繁断连、丢帧。更离谱的是…

Qwen2.5-7B语音助手:与TTS系统集成应用案例

Qwen2.5-7B语音助手:与TTS系统集成应用案例 1. 引言:构建下一代智能语音交互系统 随着大语言模型(LLM)技术的飞速发展,自然语言理解与生成能力已达到前所未有的高度。阿里云推出的 Qwen2.5-7B 模型作为开源领域的重要…

Qwen2.5-7B编程助手:代码生成与调试完整指南

Qwen2.5-7B编程助手:代码生成与调试完整指南 1. 引言:为什么选择Qwen2.5-7B作为编程助手? 1.1 大模型时代的开发效率革命 在当前AI驱动的软件开发浪潮中,大语言模型(LLM)正逐步成为程序员的“智能副驾驶…

Qwen2.5-7B旅游规划:行程建议与景点介绍

Qwen2.5-7B旅游规划:行程建议与景点介绍 1. 引言:大模型赋能智能旅游服务 1.1 行业痛点与技术机遇 传统旅游规划依赖人工搜索、攻略整理和路线比对,耗时耗力且个性化程度低。用户常面临信息过载、推荐不准、语言障碍等问题,尤其…

开源大模型部署新趋势:Qwen2.5-7B弹性算力使用指南

开源大模型部署新趋势:Qwen2.5-7B弹性算力使用指南 1. Qwen2.5-7B 模型概览与技术演进 1.1 阿里开源大语言模型的技术定位 Qwen2.5 系列是阿里巴巴通义实验室推出的最新一代大语言模型,标志着国产开源模型在通用能力、专业领域表现和多语言支持上的全面…

Qwen2.5-7B知识蒸馏实践:构建更小更快的衍生模型部署

Qwen2.5-7B知识蒸馏实践:构建更小更快的衍生模型部署 1. 引言:为何对Qwen2.5-7B进行知识蒸馏? 1.1 大模型落地的现实挑战 阿里云发布的 Qwen2.5-7B 是当前开源大语言模型中极具竞争力的一员。其在数学推理、代码生成、长文本理解与结构化输…

Qwen2.5-7B生物信息:基因序列分析

Qwen2.5-7B生物信息:基因序列分析 1. 引言:大模型赋能生命科学新范式 1.1 基因序列分析的挑战与机遇 基因序列分析是现代生物信息学的核心任务之一,涵盖基因识别、变异检测、功能注释、表达调控等多个维度。传统方法依赖于专用工具链&#…

Qwen2.5-7B启动报错?常见问题排查与修复部署教程

Qwen2.5-7B启动报错?常见问题排查与修复部署教程 1. 引言:为什么Qwen2.5-7B值得部署? 1.1 模型背景与核心价值 Qwen2.5 是阿里云最新发布的大型语言模型系列,覆盖从 0.5B 到 720B 参数的多个版本。其中 Qwen2.5-7B 因其在性能、…

Qwen2.5-7B部署常见问题:网页服务响应慢的5种优化策略

Qwen2.5-7B部署常见问题:网页服务响应慢的5种优化策略 1. 背景与问题引入 1.1 Qwen2.5-7B 模型简介 Qwen2.5 是最新的 Qwen 大型语言模型系列,涵盖从 0.5 到 720 亿参数的多个基础和指令调优模型。其中 Qwen2.5-7B 是一个中等规模、高性价比的大语言模…

Qwen2.5-7B vs ChatGLM4实战评测:长文本理解与JSON生成能力对比

Qwen2.5-7B vs ChatGLM4实战评测:长文本理解与JSON生成能力对比 1. 背景与评测目标 随着大语言模型在企业级应用中的深入落地,长文本理解和结构化输出生成(如 JSON)已成为衡量模型实用性的关键指标。无论是处理超长文档摘要、合同…

Qwen2.5-7B持续学习:在线更新技术详解

Qwen2.5-7B持续学习:在线更新技术详解 1. 引言:为何需要大模型的持续学习? 1.1 大模型静态部署的局限性 尽管像 Qwen2.5-7B 这样的开源大语言模型在发布时已具备强大的推理、编程和多语言能力,但其知识库和行为模式仍受限于训练…

Qwen2.5-7B省钱部署方案:按需GPU计费降低50%成本

Qwen2.5-7B省钱部署方案:按需GPU计费降低50%成本 1. 背景与挑战:大模型推理的成本瓶颈 随着大语言模型(LLM)在实际业务中的广泛应用,推理部署成本已成为企业落地AI能力的核心制约因素之一。以阿里云最新发布的 Qwen2.…

Qwen2.5-7B边缘计算:轻量级部署优化指南

Qwen2.5-7B边缘计算:轻量级部署优化指南 1. 引言:为何选择Qwen2.5-7B进行边缘部署? 随着大模型在自然语言处理、智能对话和代码生成等领域的广泛应用,如何将高性能大模型高效部署到资源受限的边缘设备,成为工业界和开…

Qwen2.5-7B显存不足怎么办?高效推理部署优化教程来解决

Qwen2.5-7B显存不足怎么办?高效推理部署优化教程来解决 1. 引言:Qwen2.5-7B模型特性与部署挑战 1.1 模型背景与核心能力 Qwen2.5 是阿里云最新发布的大型语言模型系列,覆盖从 0.5B 到 720B 参数的多个版本。其中 Qwen2.5-7B 作为中等规模模…

Qwen2.5-7B与百川2对比评测:指令遵循能力与部署效率分析

Qwen2.5-7B与百川2对比评测:指令遵循能力与部署效率分析 1. 背景与选型动机 随着大语言模型在企业服务、智能客服、代码生成等场景的广泛应用,指令遵循能力和部署效率已成为技术选型的核心考量因素。开发者不仅希望模型具备强大的语义理解与结构化输出能…

Qwen2.5-7B如何处理表格数据?结构化输入部署教程

Qwen2.5-7B如何处理表格数据?结构化输入部署教程 1. 引言:为何关注Qwen2.5-7B的结构化数据能力? 随着大语言模型在企业级应用中的深入落地,对结构化数据的理解与生成能力已成为衡量模型实用性的关键指标。传统LLM擅长处理自然语言…