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

如何修改Pandas DataFrame实现Excel单元格合并居中?代码报错求助

问题分析

  1. close()方法调用错误:xlsxwriter的Worksheet对象没有close()方法,你应该调用ExcelWriter对象的close()或save()方法来完成Excel文件的写入与关闭。
  2. 合并逻辑不符合需求:你的目标是合并DataFrame中值为1的单元格,但原代码合并的是B列的B2:B3区域并写入固定值'1',而实际你的DataFrame中A列才有值为1的连续单元格(A2、A3)。

修正后的代码

import pandas as pd

df = pd.DataFrame({'A': [1, 1, 3], 'B': [4, 5, 6]})
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False)
worksheet = writer.sheets['Sheet1']

# 合并A列中值为1的连续单元格(对应Excel的A2:A3,因为DataFrame导出后表头占第1行)
worksheet.merge_range('A2:A3', 1)

# 正确关闭ExcelWriter对象,完成文件写入
writer.close()

补充说明

如果需要批量处理DataFrame中所有值为1的连续单元格,可以通过遍历DataFrame的列和行来定位连续相同值的区域,再调用merge_range完成合并。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 23:27:08