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

如何用Python+Openpyxl从指定单元格批量写入列表到已有Excel?

将列表数据批量写入Excel指定区域

实现方案(基于openpyxl)

首先确保安装openpyxl库:

pip install openpyxl

以下是完整的可运行代码,适配你的需求:

from openpyxl import load_workbook

# 示例employee_data字典,替换成你实际的数据结构
employee_data = {
    "emp_001": ['A', 'B', 'C', 'D', 'E'],
    "emp_002": ['B', 'C', 'B', 'B', 'B'],
    "emp_003": ['C', 'C', 'C', 'C', 'C'],
    "emp_004": ['A', 'B', 'C', 'D', 'E'],
    "emp_005": ['D', 'D', 'D', 'D', 'D']
}

# 加载目标Excel文件
wb = load_workbook("target_file.xlsx")
# 选择要操作的工作表,这里用活动表,也可以指定表名如wb["Sheet1"]
ws = wb.active

# 起始行设置为3(对应Excel的第3行,即C3所在行)
start_row = 3

# 遍历字典中的每个列表,逐行写入
for row_offset, data_list in enumerate(employee_data.values()):
    current_row = start_row + row_offset
    # 从C列(第3列)开始,逐个写入列表元素
    for col_offset, value in enumerate(data_list):
        # openpyxl中列从1开始计数,C列对应3,所以列号是3 + col_offset
        ws.cell(row=current_row, column=3 + col_offset, value=value)

# 保存修改后的文件
wb.save("updated_target_file.xlsx")

关键说明

  • 遍历employee_data.values()直接获取所有需要写入的列表,Python3.7+版本字典会保持插入顺序,按顺序逐行写入。
  • current_row = start_row + row_offset确保第一个列表写入第3行,第二个写入第4行,以此类推。
  • 列号通过3 + col_offset计算:C列是第3列,列表第一个元素写入C列,第二个写入D列,若列表有6个元素会自动写到H列,匹配你提到的C3到H列区域。

高效批量写入优化

如果数据量较大,可改用批量赋值提升效率:

from openpyxl import load_workbook

employee_data = {
    "emp_001": ['A', 'B', 'C', 'D', 'E'],
    "emp_002": ['B', 'C', 'B', 'B', 'B'],
    "emp_003": ['C', 'C', 'C', 'C', 'C'],
    "emp_004": ['A', 'B', 'C', 'D', 'E'],
    "emp_005": ['D', 'D', 'D', 'D', 'D']
}

wb = load_workbook("target_file.xlsx")
ws = wb.active
start_row = 3

# 将所有列表转为二维数组
data_matrix = list(employee_data.values())
# 逐行批量写入
for row_idx, row_data in enumerate(data_matrix, start=start_row):
    # 定位到当前行的C列开始位置,批量赋值
    ws[f"C{row_idx}"] = row_data

wb.save("updated_target_file.xlsx")

注意事项

  • 操作Excel文件前请确保文件处于关闭状态,避免权限报错。
  • 若目标单元格已有数据,新内容会直接覆盖,建议提前备份文件。
  • 若需要严格控制字典遍历顺序,Python3.7以下版本需使用collections.OrderedDict存储数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 02:50:27