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

使用Python(xlsxwriter/pandas)向现有Excel指定列写入DataFrame数据失败求助

实现将Beta.xlsx的Col_B数据写入Alpha.xlsx的Col_E列

问题说明

使用xlsxwriter更新Excel列失败,无法通过pandas向现有Excel指定列追加数据,需求是将Beta.xlsx的Col_B数据写入Alpha.xlsx的Col_E列,保留原有数据格式与内容。

原错误代码

import xlsxwriter
wb = xlsxwriter.Workbook(r'G:\alpha.xlsx')
ws = wb.add_worksheet()
data=[df1]
ws.write_column('D2', data)
wb.close()

错误原因:xlsxwriter仅支持创建新Excel文件,无法修改现有文件;且data=[df1]的写法错误,未正确提取DataFrame列数据。

现有文件内容

Alpha.xlsx

Col_A   Col_B         Col_C    Col_D   Col_E   Col_F
1       10-10-2022    Amy                      Racing
2       05-10-2022    John                     Music                   
3       04-08-2022    Adam                     Travel
4       07-06-2022    Jenny                    Games

Beta.xlsx

Col_A   Col_B     Col_C
1       132150    Section A
2       546546    Section B 
3       556446    Section C
4       123215    Section D

正确代码实现

方法1:使用pandas+openpyxl(适合快速批量赋值)

import pandas as pd

# 读取Alpha.xlsx全部数据
df_alpha = pd.read_excel(r'G:\alpha.xlsx')
# 读取Beta.xlsx仅Col_B列数据
df_beta = pd.read_excel(r'G:\Beta.xlsx', usecols=['Col_B'])

# 匹配行数,将Beta的Col_B赋值给Alpha的Col_E
df_alpha['Col_E'] = df_beta['Col_B'].values

# 用openpyxl引擎保存,保留原有格式
with pd.ExcelWriter(r'G:\alpha.xlsx', engine='openpyxl', mode='a', if_sheet_exists='replace') as writer:
    df_alpha.to_excel(writer, index=False, sheet_name='Sheet1')

方法2:使用openpyxl直接操作单元格(适合精准控制格式)

from openpyxl import load_workbook
import pandas as pd

# 提取Beta.xlsx的Col_B数据为列表
df_beta = pd.read_excel(r'G:\Beta.xlsx', usecols=['Col_B'])
beta_col_b = df_beta['Col_B'].tolist()

# 加载现有Alpha.xlsx文件
wb = load_workbook(r'G:\alpha.xlsx')
ws = wb.active  # 操作默认工作表

# 写入Col_E列(Excel列号为5,从第2行开始写入数据)
for idx, value in enumerate(beta_col_b, start=2):
    ws.cell(row=idx, column=5).value = value

# 保存修改后的文件
wb.save(r'G:\alpha.xlsx')

预期效果

Col_A   Col_B         Col_C   Col_D   Col_E    Col_F
1       10-10-2022    Amy             132150   Racing
2       05-10-2022    John            546546   Music 
3       04-08-2022    Adam            556446   Travel
4       07-06-2022    Jenny           123215   Games

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 23:45:10