Как удалить повторяющиеся слова из Excel

#python-3.x

#python-3.x

Вопрос:

Мне нужно удалить общие слова, которые есть в каждой строке Excel, используя python. ниже приведен пример:

sample.xlsx

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

в этом случае слово pqr повторяется во всех 3 строках, мне нужно найти и удалить такие слова.

ожидаемый результат:

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

Комментарии:

1. Это многоколоночный Excel, я объединил их в один столбец

2. Добавьте ожидаемый результат в вопрос

3. ожидаемый результат выглядит следующим образом 1 ‘abc 123 row1’ 2 ‘abc1 123 row2’ 3 ‘256 abcd row3’

Ответ №1:

Это проще, если вы используете 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   
  

Комментарии:

1. Спасибо за быстрый ответ, но я не знаю, какое слово повторяется. мой Excel огромен 100 тысячами строк, и мне нужно найти слово, которое повторяется во всех 100 тысячах строк, и удалить его. Ценю вашу помощь.

2. @Ganesh пожалуйста, добавьте все рассматриваемые требования сразу, чтобы люди могли легко помочь. Спасибо.

3. приношу свои извинения, я должен был упомянуть в самом первом сообщении. Мое требование — найти слово, которое повторяется во всех строках Excel, и удалить это слово, это не ограничивается количеством повторяющихся слов.