将excel表中A列值相同的B列值进行拼接

原始表格
image
第一步,将B列和C列的值合并
(1)用等于号合并两列,下拉
image
(2)复制粘贴,只粘贴数值以清除单元格公式,删除多余的列
image
第二步,将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)

效果
image

posted @ 2023-03-09 14:05  一只艾米果  阅读(1853)  评论(0编辑  收藏  举报