Python xlwt,xlrd对Excel表求笛卡尔积
应用背景
前些日子,在项目中遇到多级分类合并问题,每一级分类格式如下[分类编码 : 分类名称],因为ExcelOBA公式啥的不太会用,就用Python xlrd和xlwt库实现了一下数据求笛卡尔积合并的操作。
待处理的Excel表单模版
处理后导出的Excel效果
具体代码实现
import xlrd,xlwt
def Cartesian_Product_Transfer(filepath):
# 1.源数据读取
# 打开源Excel
data = xlrd.open_workbook(filepath)
# 获取模版表格
table1 = data.sheet_by_name('ModelSheet')
# 获取列数
col_num = table1.ncols
# 分类编码
source_column_i = []
# 分类名称
source_column_content = []
# 分列 分类编码 与 分类名称
for i in range(col_num):
if i%2 == 0:
source_column_i.append(table1.col(i))
else: