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

如何在Excel中筛选以customer开头的列并保存至新路径

Excel筛选以"customer"开头的列并保存到新文件

完整实现代码(基于openpyxl库)

from openpyxl import load_workbook
from openpyxl import Workbook

# 替换为你的实际文件路径
original_path = "原Excel文件路径.xlsx"
new_path = "新文件保存路径.xlsx"

# 加载原工作簿,取第一个工作表
wb_original = load_workbook(original_path)
ws_original = wb_original.active

# 找出所有表头以"customer"开头的列索引(openpyxl列索引从1开始)
target_cols = []
for col in range(1, ws_original.max_column + 1):
    header_value = ws_original.cell(row=1, column=col).value
    if header_value and str(header_value).startswith("customer"):
        target_cols.append(col)

# 创建新工作簿和工作表
wb_new = Workbook()
ws_new = wb_new.active

# 复制目标列的表头
for idx, col in enumerate(target_cols, start=1):
    ws_new.cell(row=1, column=idx).value = ws_original.cell(row=1, column=col).value

# 复制目标列的数据行
for row in range(2, ws_original.max_row + 1):
    for idx, col in enumerate(target_cols, start=1):
        ws_new.cell(row=row, column=idx).value = ws_original.cell(row=row, column=col).value

# 保存新文件
wb_new.save(new_path)

关键逻辑说明

  • 定位目标列:遍历第一行表头,筛选出值以"customer"开头的列,记录它们的索引
  • 复制表头与数据:先把筛选出的表头复制到新表,再逐行复制对应列的内容
  • 保存结果:将整理好的新工作簿保存到指定路径

对你原有代码的修正点

  • 原代码未遍历表头列,ws.cell不能直接用于比较,需要指定行和列来获取单元格内容
  • 缺少原工作簿加载、新工作簿创建及数据复制的核心逻辑,无法完成筛选和保存操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 21:48:28