You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Python中不读写整个xlsx文件仅修改列名?

解决方案:仅修改Excel列名无需加载全量数据

对于大体积的单工作表Excel文件,确实可以通过直接操作Excel文件的表头单元格实现仅修改列名,无需加载整个数据集到内存,推荐使用openpyxl(无依赖本地Excel)或xlwings(依赖本地Excel安装)两种方案:

方案一:使用openpyxl(推荐,无需本地Excel)

openpyxl支持直接读写xlsx文件的特定单元格,无需加载全部数据,适合处理大文件:

  1. 先安装依赖:
pip install openpyxl
  1. 批量处理文件的代码示例:
import os
from openpyxl import load_workbook

# 要处理的文件夹路径
folder_path = "your_folder_path"
# 原列名和目标列名
old_col_name = "wrong_name"
new_col_name = "column_c"

# 遍历文件夹下的所有xlsx文件
for filename in os.listdir(folder_path):
    if filename.endswith(".xlsx"):
        file_path = os.path.join(folder_path, filename)
        # 加载工作簿(非只读模式)
        wb = load_workbook(file_path, read_only=False)
        ws = wb.active  # 获取唯一的工作表
        
        # 遍历第一行的单元格,找到目标列名并修改
        for cell in ws[1]:
            if cell.value == old_col_name:
                cell.value = new_col_name
                break  # 找到后退出循环,提升效率
        
        # 保存修改(直接覆盖原文件,建议先备份)
        wb.save(file_path)
        wb.close()

方案二:使用xlwings(依赖本地Excel)

如果本地安装了Excel,xlwings可以直接操控Excel应用,同样只修改表头:

  1. 安装依赖:
pip install xlwings
  1. 代码示例:
import os
import xlwings as xw

folder_path = "your_folder_path"
old_col_name = "wrong_name"
new_col_name = "column_c"

# 后台运行Excel,不显示界面
with xw.App(visible=False) as app:
    for filename in os.listdir(folder_path):
        if filename.endswith(".xlsx"):
            file_path = os.path.join(folder_path, filename)
            wb = app.books.open(file_path)
            ws = wb.sheets[0]
            
            # 查找原列名的位置
            col_idx = ws.range(1, 1).expand("right").value.index(old_col_name) + 1
            # 修改该位置的单元格值
            ws.range(1, col_idx).value = new_col_name
            
            wb.save()
            wb.close()

补充说明

  • 你提供的Pandas代码存在一个小错误:rename方法的columns参数需要传入字典,而不是集合,正确写法应为:
df.rename(columns={'wrong_name': 'column_c'}, inplace=True)

但Pandas会加载整个数据集到内存,对于大文件来说内存占用过高,因此优先推荐前面两种方案。

内容的提问来源于stack exchange,提问作者Violet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:25:14