"""合并单元格"""
result_file = "C:/Users/Administrator/Desktop/123.xlsx"
wb = load_workbook(result_file)
ws = wb.get_sheet_by_name('Sheet1')
# 获取第一列数据
type_list = []
i = 2
while True:
r = ws.cell(i, 1).value
if r:
type_list.append(r)
else:
break
i += 1
# 判断合并单元格的始末位置
s = 0
e = 0
flag = type_list[0]
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("A" + str(s + 2) + ":A" + str(e + 2))
s = e + 1
if i == len(type_list) - 1:
e = i
ws.merge_cells("A" + str(s + 2) + ":A" + str(e + 2))
wb.save(result_file)
客户这边,其中有一个如同上图所示的 sheet,然而需求是,需要将这张表第一列(一级部)数据相同内容做合并单元格处理,结果如下:代码分享如下:from openpyxl import load_workbook"""合并单元格"""result_file = "C:/Users/Administrator/Desktop/123.xlsx"wb = load_workbo...
在工作中经常遇到需要将数据输出到excel,且需要对其中一些
单元格
进行
合并
,比如如下表表格,需要根据A列的值,
合并
B、C列的对应
单元格
pandas中的to_excel方法只能对索引进行
合并
,而xlsxwriter中,虽然提供有merge_range方法,但是这只是一个和基础的方法,每次都需要编写繁琐的测试才能最终调好,而且不能很好的重用。所以想自己写一个方法,结合dataframe和merge_range。大概思路是:
1、定义一个MY_DataFrame类,继承DataFrame类,这样能很好的利用pandas的很多特性,而不用自己重新组织数据结构。
2、定义一个my_mergewr_
from openpyxl import load_workbook
from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font
wb = load_workbook("C:/TEMP/test2.xlsx")
# ws = wb.active 选择工作簿
ws = wb[wb.sheetnames[0]]
# C/D/E列
合并
相同
单元格
x1=None
x2=None
for i in ran.
import pandas as pd
excelFile = r'C:/Users/excel文件名'
df = pd.DataFrame(pd.read_excel(excelFile,'数据需求'))
#print(df)
#查看列名称,并输出列表
df_columns=df.columns.valu...
因为工作经常遭遇繁重的重复工作,不想将时间花在没有价值的加班上,开始接触
Python
,很遗憾只能通过网络,书籍等途径自己学习,虽然
Python
很多人都说很简单,但是对于我这种程序小白来说依然没那么轻松,好的是已经可以让程序来对我的工作改进很多,有时候真的不得不让人惊叹计算机程序的力量是人力远远不及的,来分享一个人力与程序天然差异的小例子。
真实场景:
某天接到领导任务,因为需要上传资料进某个固定的系统,可是系统需要特定的格式,前面7列需要根据第1列的
内容
合并单元格
,意思是说第...