如何从Excel中删除重复的单词

时间:2019-03-29 05:46:41

标签: python-3.x

我需要使用python删除excel每行中的常用单词。下面是示例:

sample.xlsx

1 'abc 123 pqr row1'
2 'pqr abc1 123 row2'
3 '256 abcd row3 pqr'

在这3行中重复使用pqr一词,我需要查找并删除这些词。


预期输出:

1 'abc 123 row1' 
2 'abc1 123 row2' 
3 '256 abcd row3'

1 个答案:

答案 0 :(得分:0)

如果您使用pandas库,则会更容易。

首先在您的列中找到所有unique_words。 然后遍历单词列表,如果count > 1替换了该单词。

import pandas as pd

df = pd.read_excel("sample.xlsx")

unique_words = list(df['cola'].str.split(' ', expand=True).stack().unique())
# ['abc', '123', 'pqr', 'row1', 'abc1', 'row2', '256', 'abcd', 'row3']

for word in unique_words:
    pattern = r'\b{}\b'.format(word)
    if df['cola'].str.count(pattern).sum() > 1:
        df['cola'] = df['cola'].str.replace(word,"").str.replace("  "," ").str.strip()

print(df)

输出:

        cola                                                                                                                      
0       abc row1                                                                                                                      
1      abc1 row2                                                                                                                      
2  256 abcd row3