天天看點

python字元串合并去重_Python合并同類項的字元串,一對多

**

需求:

**

1.合并同個[公司名稱]值下對應的不同字段多個值,填入單個單元格中,效果如下圖

原資料視圖

python字元串合并去重_Python合并同類項的字元串,一對多

目标資料視圖

python字元串合并去重_Python合并同類項的字元串,一對多

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('絕對路徑/相對路徑')