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

利用python实现对.xls文件表头的修改

今天同事说手上有1000多个表,要求批量把表头改了,比如人事干部任免表改为人员信息表这样的小事,一个个的改估计要花费不少时间,看能否写个小程序什么的。

首先考虑的是这件事不是那么容易,主要是.xls是老格式,只是改表,不动格式其实挺不容易,然后开始尝试,gpt总是喜欢改.xlsx格式的,老格式的反倒没有太多支持的。

最后找到了xlwings组件,总算是可以只改一下表头,不会丢格式了,考虑到是1000多个文件,最好放在一个目录中遍历寻找,找到一个改一个然后存另一个目录中,整体代码如下:

程序中为了操作简单,直接在D盘创建文件夹D:/data/ori作为源目录

D:/data/mod作为目标目录

import os
import xlwings as xw


def modify_excel_file(file_path, save_path, app):
    """
    使用传入的 Excel 应用实例 app 打开 file_path 文件,
    修改第一个工作表 A1 单元格内容为“人员信息表”,
    然后另存为 save_path 文件。
    """
    wb = app.books.open(file_path)
    # 假设标题在第一个工作表的 A1 单元格(如果有合并单元格,则修改左上角即可)
    wb.sheets[0].range('A1').value = "人员信息表"
    wb.save(save_path)
    wb.close()


def process_excel_files(input_dir, output_dir):
    """
    搜索 input_dir 目录下所有 .xls 文件,
    使用 Excel 修改后另存到 output_dir 目录中。
    """
    # 如果输出目录不存在,则创建
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)

    # 启动 Excel 应用,后台运行
    app = xw.App(visible=False)
    try:
        # 遍历目录下所有文件
        for filename in os.listdir(input_dir):
            if filename.lower().endswith('.xls'):
                file_path = os.path.join(input_dir, filename)
                save_path = os.path.join(output_dir, filename)
                print(f"正在处理:{file_path}")
                modify_excel_file(file_path, save_path, app)
    finally:
        # 退出 Excel 应用
        app.quit()


if __name__ == '__main__':
    input_directory = r'D:\data\ori'
    output_directory = r'D:\data\mod'
    process_excel_files(input_directory, output_directory)
    print("处理完成!")
    input("按任意键退出...")

然后得发给同事用,他们可能没有python环境,使用pyinstaller --onefile cc.py 

生成cc.exe即可

相关文章:

  • openwebUI访问vllm加载deepseek微调过的本地大模型
  • STaR(Self-Taught Reasoner)方法:让语言模型自学推理能力(代码实现)
  • 算法题(83):寄包柜
  • 【重构小程序】升级JDK1.8、SpringBoot2.x 到JDK17、Springboot 3.x(一)
  • nano 是 Linux 系统中的一个 命令行文本编辑器
  • 计算机网络-实验3拓扑结构
  • Unix Domain Socket和eventfd
  • 10.3 指针进阶_代码分析
  • Java 中如何创建多线程?
  • 2025年能源工作指导意见重点内容
  • fps项目总结:关于攻击与受击
  • 【医学影像 AI】使用血管特征量化自动诊断早产儿视网膜病变中的附加病变
  • C语言:结构体的内存对齐方式
  • vite+react+ts如何集成redux状态管理工具,实现持久化缓存
  • MATLAB中asManyOfPattern函数用法
  • 代理对象中使用this
  • anolis8.9-k8s1.32-系统基本配置
  • Linux--基本指令2
  • 使用Python简单自动地生成图文并茂的网页文件(WEB数据可视化)
  • C# 类库打包dll文件
  • 怎样开发手机网站/网站seo视频
  • 人才市场招聘网站/百度关键词搜索排名帝搜软件
  • c语言和网站建设的关系/互联网项目推广平台有哪些
  • 体育新闻网站的建设/图片搜索图片识别
  • 广州建筑工程公司有哪些/seo站长工具
  • 做网站页面设计报价/百度链接