当前位置: 首页 > backend >正文

合并表格(按行合并)

文章目录

  • 一、按行合并多张表格(exe)
    • 1.1 适用场景
    • 1.2 使用exe工具的方法
  • 二、按行合并多张表格(python代码)
    • 2.1 适用场景
    • 2.2 使用脚本的方法
  • 三、总结


一、按行合并多张表格(exe)

1.1 适用场景

1)合并表格数量较多的情况
2)没有会员的童鞋
3)任何人

1.2 使用exe工具的方法

步骤1:下载exe工具【批量合并表格-范例1.exe】
在文章置顶处下载exe工具

步骤2:指定路径下,提前建立1个文件夹分别存储待合并表格
1)待合并表格所在的路径 = ‘D:/before’
【注意】before需要提前在D盘建立的文件夹
在这里插入图片描述
步骤3:运行exe【0-按行合并多张工作表.exe】
双击运行或右键点击以管理员方式运行

二、按行合并多张表格(python代码)

2.1 适用场景

1)合并表格数量较多的情况
2)没有会员的童鞋
3)需要有python环境的同学

2.2 使用脚本的方法

步骤1:引入库文件

import os
import pandas as pd

步骤2:定义主函数

def merge_excel_files(folder_path, output_file='合并结果.xlsx', include_filename=False):# 获取excel文件extensions = ('.xlsx', '.xls')files = [f for f in os.listdir(folder_path) if f.lower().endswith(extensions)]if not files:print("未找到任何Excel文件。")return# 初始化数据容器:存储所有DataFrame的列表dfs = []# 遍历处理每个文件for file in files:file_path = os.path.join(folder_path, file) # 构建完整文件路径# 读取excel文件try:# 使用 pd.ExcelFile 加载文件以获取 sheet 名称xls = pd.ExcelFile(file_path)# 获取第一个工作表名称first_sheet = xls.sheet_names[0]# 关键修改点:设置 header=None,避免将第一行当成表头df = pd.read_excel(xls, sheet_name=first_sheet, header=None)# 如果需要,添加文件名列if include_filename:df['来源文件'] = file# 添加到列表中dfs.append(df)print(f"已处理文件:{file},工作表:{first_sheet}")except Exception as e:print(f"处理文件 {file} 出错:{e}")# 合并所有 DataFramemerged_df = pd.concat(dfs, ignore_index=True)# 写入输出文件merged_df.to_excel(output_file, index=False, sheet_name='合并结果')print(f"\n 合并完成,已保存至:{output_file}")

步骤3:定义主程序

if __name__ == '__main__':# 设置文件夹路径(替换为你的实际路径)folder_path = r'D:/before'# 设置输出文件名output_file = r'D:/before/合并结果.xlsx'# 是否在合并后保留原始文件名信息include_filename = True# 执行函数merge_excel_files(folder_path, output_file, include_filename)

步骤4:运行代码

三、总结

以上是批量合并表格的方法:直接运行exe文件、运行脚本。
若有疑问在评论区留言~
一起学习,一起进步!!

http://www.xdnf.cn/news/12290.html

相关文章:

  • 黑马Java面试笔记之 并发编程篇(线程池+使用场景)
  • 软件项目管理(1) 项目管理概述
  • Excel数据分析:基础
  • Java-IO流之缓冲流详解
  • 【Maniskill】使用Ppo的官方基线训练时出现指标突然“塌陷”的现象
  • STM32入门教程——OLED调试工具
  • 基于SSM框架的医院电子病历管理系统,分为用户网页和管理后台,包括科室模块、医生模块、预约挂号模块、就诊记录模块、就诊评价模块、轮播图模块和系统基础模块
  • 【JavaWeb】Linux项目部署
  • GC1808:高性能24位立体声音频ADC芯片解析
  • 并发编程 - go版
  • 深入浅出 Scrapy:打造高效、强大的 Python 网络爬虫
  • Linux 里 su 和 sudo 命令这两个有什么不一样?
  • SQL知识合集(一):函数篇
  • day20 leetcode-hot100-38(二叉树3)
  • NX985NX988美光固态闪存NY103NY106
  • Selenium 查找页面元素的方式
  • 任务调度器-关于中心化调度 vs 去中心化调度的核心区别
  • 计算机操作系统知识点总结④【完】
  • Python应用函数调用(二)
  • xshell使用pem进行远程
  • 408第一季 - 408内容概述
  • 高压危险铁塔大字金属安全警示牌技术解析
  • Java开发中复用公共SQL的方法
  • 【高等数学】傅里叶级数逼近例子
  • Code Composer Studio导入DSP工程编译报错
  • 用电脑控制keysight示波器
  • 2025年渗透测试面试题总结-ali 春招内推电话1面(题目+回答)
  • Mysql 身份认证绕过漏洞 CVE-2012-2122
  • Git 推送失败解决教程——error: failed to push some refs to
  • 世事无常,比较复杂,人可以简单一点