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

如何用openpyxl为Excel新增列添加从320开始的递增编号(禁用Pandas)

不用Pandas生成Excel递增客户ID的解决方法

先给你指出你写的代码里的几个问题:

  • 变量赋值逻辑完全错误,[‘A’]=“customer id”没法把表头写入Excel单元格
  • id=[‘A:A50’]只是定义了一个包含字符串的列表,根本获取不到Excel的单元格范围
  • 循环嵌套和赋值逻辑混乱,cell.value.append(i...)的写法完全不符合Excel单元格赋值的逻辑

下面给你用openpyxl库(纯Python操作Excel,不需要Pandas)的正确实现:

步骤1:安装依赖(如果没装过)

pip install openpyxl

步骤2:生成新Excel文件的完整代码

from openpyxl import Workbook

# 创建新的Excel工作簿
wb = Workbook()
ws = wb.active  # 获取默认工作表

# 设置表头
ws['A1'] = "customer id"

# 生成从320开始的50个递增ID,写入A2到A51单元格
current_id = 320
for row in range(2, 52):  # 行号从2到51,对应50行数据
    ws[f'A{row}'] = current_id
    current_id += 1

# 保存文件
wb.save("客户ID列表.xlsx")

代码说明

  • 用Workbook()创建新工作簿,wb.active拿到默认的工作表
  • 直接通过ws['A1']给表头单元格赋值
  • 循环遍历行号2到51,每次把当前ID写入对应A列单元格,写完ID自增1
  • 最后用save()保存成Excel文件

如果是要修改已存在的Excel文件,代码可以改成这样:

from openpyxl import load_workbook

# 打开已有的Excel文件
wb = load_workbook("已有文件.xlsx")
ws = wb.active

# 设置表头(如果需要覆盖原有表头)
ws['A1'] = "customer id"

current_id = 320
for row in range(2, 52):
    ws[f'A{row}'] = current_id
    current_id += 1

wb.save("已有文件_更新后.xlsx")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 01:24:13