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

如何将Python列表追加至已有数据的Excel列末尾?

实现向Excel同一列末尾追加数据的两种方案

使用openpyxl库(适用于.xlsx格式)

openpyxl可直接操作Excel单元格,精准控制写入位置,适合需要精细操作的场景。

  • 导入依赖库
  • 检查目标Excel文件是否存在:不存在则新建工作簿;存在则打开现有文件
  • 获取目标列的已使用行数,确定追加的起始行号
  • 遍历待写入列表,将值依次写入目标列的空白行
  • 保存工作簿
from openpyxl import Workbook, load_workbook
import os

# 待追加的列表数据
new_data = ["新值1", "新值2", "新值3"]
# Excel文件路径和目标列(A列对应索引1)
file_path = "data.xlsx"
target_col = 1

if os.path.exists(file_path):
    # 打开现有工作簿
    wb = load_workbook(file_path)
    ws = wb.active
    # 计算追加起始行:已用行数+1
    start_row = ws.max_row + 1
else:
    # 创建新工作簿
    wb = Workbook()
    ws = wb.active
    start_row = 1  # 新文件从第一行开始写入

# 写入数据
for idx, value in enumerate(new_data):
    ws.cell(row=start_row + idx, column=target_col, value=value)

wb.save(file_path)

使用pandas库(适用于快速批量处理)

pandas处理表格数据更高效,适合数据量较大或需结合其他数据处理流程的场景。

  • 导入依赖库
  • 检查文件是否存在:不存在则直接将列表转为DataFrame写入;存在则读取现有数据,追加新数据后写入
  • 写入时需设置mode='a'(追加模式)和header=False(避免重复写入表头)
import pandas as pd
import os

# 待追加的列表数据
new_data = ["新值4", "新值5", "新值6"]
file_path = "data.xlsx"
target_col = "A"  # 目标列名

# 将新数据转为DataFrame
new_df = pd.DataFrame(new_data, columns=[target_col])

if os.path.exists(file_path):
    # 读取现有数据并合并
    existing_df = pd.read_excel(file_path)
    combined_df = pd.concat([existing_df, new_df], ignore_index=True)
    combined_df.to_excel(file_path, index=False)
else:
    # 直接写入新数据
    new_df.to_excel(file_path, index=False)

注意事项

  • 若目标列有表头,需确保新数据结构与现有数据一致,避免格式混乱
  • openpyxl不支持.xls格式,处理旧格式可使用xlrd+xlwt库(注意xlrd 2.0+版本不再支持.xls)
  • 使用pandas时,需确保现有文件的列名与新数据列名匹配,否则会导致数据错位

内容的提问来源于stack exchange,提问作者Madeleine Saint James

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 10:34:55