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

Python中可复制Excel整列,但无法复制特定列FROM_ID,求解决方法

复制Excel特定列(FROM_ID)的实现方案

修改后的代码

from openpyxl import load_workbook

wb = load_workbook('Ambulance2Centroids_16622.xlsx')
wb2 = load_workbook('test.xlsx')

# 替代已弃用的get_sheet_by_name方法,直接通过工作表名访问
sheet1 = wb['Sheet1']
sheet2 = wb2['Details']

# 定位FROM_ID列的列号
target_col = None
for col in range(1, sheet1.max_column + 1):
    if sheet1.cell(row=1, column=col).value == 'FROM_ID':
        target_col = col
        break

if target_col:
    # 复制目标列的前9行数据(与原代码的行范围保持一致)
    for row in range(1, 10):
        # 这里将数据复制到sheet2的第1列,可根据需求修改column参数
        sheet2.cell(row=row, column=1).value = sheet1.cell(row=row, column=target_col).value
    wb2.save('test.xlsx')
else:
    print("未在Sheet1中找到FROM_ID列")

# 原代码中保存原文件的操作无必要,因为未修改原文件,可删除
# wb.save('Ambulance2Centroids_16622.xlsx')

核心要点

  • 用wb['工作表名']替代已弃用的get_sheet_by_name方法,符合openpyxl的最新规范。
  • 通过表头行(第1行)动态定位FROM_ID列,避免硬编码列号导致的适配问题。
  • 仅遍历目标列的数据,无需处理所有列,提升代码效率。
  • 移除了无意义的原文件保存操作,因为代码未修改原Excel内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:50:25