python 拆分excel单元格_Python Excel 单元格 拆分并填充内容,功能和的wps类似

一、实现的功能:

944853-20200609100617309-412226968.png

二、效果

1、拆分并填充前

944853-20200609100858349-1155395164.png

2、拆分并填充后

944853-20200609100932314-1775243599.png

三、代码

import openpyxl

from copy import deepcopy

# 原文:https://www.cnblogs.com/liuda9495/p/9039732.html

path='test1.xlsx'

workbook = openpyxl.load_workbook(path)# 加载excel

name_list = workbook.sheetnames# 所有sheet的名字

worksheet = workbook[name_list[0]]# 读取第一个工作表

# 获取所有 合并单元格的 位置信息

# 是个可迭代对象,单个对象类型:openpyxl.worksheet.cell_range.CellRange

# print后就是excel坐标信息

m_list = worksheet.merged_cells

l = deepcopy(m_list)# 深拷贝

# 拆分合并的单元格 并填充内容

for m_area in l:

# 这里的行和列的起始值(索引),和Excel的一样,从1开始,并不是从0开始(注意)

r1, r2, c1, c2 = m_area.min_row, m_area.max_row, m_area.min_col, m_area.max_col

worksheet.unmerge_cells(start_row=r1, end_row=r2, start_column=c1, end_column=c2)

print('区域:', m_area, ' 坐标:', r1, r2, c1, c2)

# 获取一个单元格的内容

first_value = worksheet.cell(r1, c1).value

# 数据填充

for r in range(r1, r2+1):# 遍历行

if c2 - c1 > 0:# 多个列,遍历列

for c in range(c1, c2+1):

worksheet.cell(r, c).value = first_value

else:# 一个列

worksheet.cell(r, c1).value = first_value

workbook.save('test2.xlsx')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值