我需要使用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'
答案 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