#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, и удалить это слово, это не ограничивается количеством повторяющихся слов.