python初学者,想用openpyxl实现每列相同单元格自动合并,未果,请问问题出在哪儿,谢谢
mport openpyxl
from openpyxl import load_workbook
from openpyxl.utils import get_column_letter, column_index_from_string
"""合并单元格"""
result_file = "E:\合并测试\合并1.xlsx"
wb = load_workbook(result_file)
ws = wb.get_sheet_by_name('Sheet1')
# 获取第一行数据
hang_list = []
j = 1
while True:
l = ws.cell(1, j).value
if l:
hang_list.append(l)
else:
break
j += 1
for j in range(len(hang_list)):
print(j)
type_list = []
m=get_column_letter(j+1)
flag=0
print(m)
# 获取第一列数据
for i in range(2,len(type_list)):
r = ws.cell(i, j+1).value
if r:
type_list.append(r)
else:
flag=1
break
i += 1
print(type_list)
# 判断合并单元格的始末位置
s = 0
e = 0
if flag==0:
flag = type_list[0]
print(flag)
for i in range(len(type_list)):
if type_list[i] != flag:
flag = type_list[i]
e = i - 1
if e >= s:
ws.merge_cells(m+ str(s + 2) + ":"+m+ str(e + 2))
s = e + 1
if i == len(type_list) - 1:
e = i
ws.merge_cells(m + str(s + 2) + ":"+m + str(e + 2))
else:
break
wb.save('合并.xlsx')
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论