将excel表中A列值相同的B列值进行拼接
原始表格
第一步,将B列和C列的值合并
(1)用等于号合并两列,下拉
(2)复制粘贴,只粘贴数值以清除单元格公式,删除多余的列
第二步,将A列值相同的B列值以逗号拼接
点击查看代码
import os
import openpyxl
import pandas as pd
path = r"D:\数字化\测试\测试数据\数据准备(正式测试使用)\数据字典整理_最新\映射规则"
path_exl = r"D:\数字化\测试\测试数据\数据准备(正式测试使用)\数据字典整理_最新\映射规则\python处理\金蝶的枚举名称和枚举值2.xlsx"
# workbook = openpyxl.load_workbook('金蝶的枚举名称和枚举值1.xlsx') # 返回一个workbook数据类型的值
# # 通过sheet名称获取表格
# sheet = workbook['Sheet1']
datas = pd.read_excel(path_exl, header=0)
data = datas.values # 只读取excel中的值,不读取序号
# print(data)
# 前两行可以正常拼接
# li = []
# i = 1
# while data[i-1][0] == data[i][0]:
# li.append(data[i-1][1])
# i += 1
# li.append(data[i-1][1])
# val = ','.join(li)
# print(val)
# if data[i-1][0] != data[i][0]:
# # print(data[i][1])
# i += 1
# li2 = []
# while data[i - 1][0] == data[i][0]:
# li2.append(data[i - 1][1])
# i += 1
# li2.append(data[i - 1][1])
# val2 = ','.join(li2)
# print(val2)
i = 1
while i < len(data):
li = []
while data[i-1][0] == data[i][0]:
li.append(data[i-1][1])
i += 1
# print(data[i-1][0]) # 枚举名称
li.append(data[i-1][1])
val = ','.join(li)
print(val) # 枚举值
if data[i-1][0] != data[i][0]:
i += 1
# print(i)
效果