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

如何使用openpyxl将Excel列空白单元格填充为该列统一文本值

openpyxl 填充指定列空白单元格方案

完整实现代码

你已经完成了工作簿读取,后续操作如下:

import openpyxl
# 你已经执行的读取步骤
wb = openpyxl.load_workbook('states.xlsx')
# 选择要操作的工作表,下面二选一即可
# 方式1:选择当前活动工作表
ws = wb.active
# 方式2:指定工作表名称,比如你的工作表叫"数据"就写 ws = wb["数据"]

# --------------------------
# 步骤1:确定填充值,下面二选一即可
# 选项A:手动指定固定填充值,比如你要填"MA"就直接写
fill_value = "MA"

# 选项B:自动提取该列已有的固定值,不用手动输入(避免写错),此处以处理第2列(B列)为例
# fill_value = None
# for cell_col in ws.iter_cols(min_col=2, max_col=2, values_only=True):
#     for val in cell_col:
#         if val is not None and str(val).strip() != "":
#             fill_value = val
#             break
#     if fill_value:
#         break
# --------------------------

# 步骤2:遍历目标列填充空白单元格,还是以第2列为例,改min_col和max_col即可切换目标列
for row in ws.iter_rows(min_col=2, max_col=2):
    current_cell = row[0]
    # 判断单元格是否为空(同时兼容纯空白字符串的情况)
    if current_cell.value is None or str(current_cell.value).strip() == "":
        current_cell.value = fill_value

# 步骤3:保存修改后的文件,建议先另存为新文件避免原始数据丢失
wb.save("filled_states.xlsx")
# 如果确认要覆盖原文件,可以写 wb.save("states.xlsx")

注意事项

  • 代码中min_col和max_col对应你要处理的列序号,A列对应1、B列对应2,以此类推,改成你实际需要处理的列号即可
  • 如果需要跳过表头,给iter_rows加min_row=2参数即可,代表从第2行开始处理
  • 对于超大型Excel文件,你可以给load_workbook加read_only=False参数保证可写,同时建议处理前先备份原始文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:45:01