如何修改Pandas DataFrame实现Excel单元格合并居中?代码报错求助
问题分析
close()方法调用错误:xlsxwriter的Worksheet对象没有close()方法,你应该调用ExcelWriter对象的close()或save()方法来完成Excel文件的写入与关闭。- 合并逻辑不符合需求:你的目标是合并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
相关产品推荐
相关产品推荐

