python字符串合并去重_Python合并同类项的字符串,一对多

**

需求:

**

1.合并同个[公司名称]值下对应的不同字段多个值,填入单个单元格中,效果如下图

原数据视图

目标数据视图

2.通过key[公司名称]合并两张表,将订单数据写入公司信息表

思路

第一步:去重

第二步:根据公司名合并其他字段不同值

第三步:多张表通过公司名匹配,合并为一张表

注意:将合并值存入List不可行,会在excel中存储为多行值;本文需要将合并的多个值保存在同一单元格里,用string

**

代码实现

**

第一步:去重

第二步:根据公司名合并其他字段不同值

"""

Created on Wed Apr 3 17:49:14 2019

@author: viola

"""

import pandas as pd

file = pd.read_excel(r'文档引用路径', sheet_name = 'Sheet1')

data = file.drop_duplicates(subset = ['S','A'], keep = 'first')

#文档可以有多列,只取其中一列或几列相同去重

#subset为相同列的集合,如要求S列值与A列值相等,则输入subset = ['S','A']

# keep = 'first' 保留第一次出现的行;'last' 保留最后一次出现的行

group = data.groupby(by = 'S').apply(lambda x:[','.join(x['A'])])

group = pd.DataFrame({'S':group})

#合并同个S值对应的A列值,并转化为DataFrame格式储存

group.to_excel('绝对路径/相对路径')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值