删除包含相邻行的列的重复项,并在上面添加重复项

我想要delete duplicates for Column Ddelete rows adjacent重复项所在的delete rows adjacent 。 我想删除差距,所以追加到上述。 我已经在下表中表示了这一点。 数据的行数不断变化。 我们传统上使用VBA,但现在我们正在使用Python,必须改变这部分工作。

什么数据: https : //ibb.co/gwh0Hb

预期/我想实现的是: https : //ibb.co/f08Dnb

以下趋向于删除重复项并将其放在一列中,但旁边的重复项旁边的行不会被删除,并且不会附加列。

下面的代码 –

 import openpyxl wb1 = openpyxl.load_workbook('C:/Users/Documents/dwa.xlsx') ws1 = wb1.active # keep naming convention consistent wb2 = openpyxl.load_workbook('C:/Users/Documents/123.xlsx') ws2 = wb2.active # keep naming convention consistent values = [] col_e = 6 # easier to remember values = set() # no duplicates by default; faster 'in' searching for row in ws1.iter_rows(row_offset=1): # if you have a header if row[col_e].value not in values: values.add(row[col_e].value) else: row[col_e].value = '', wb2.save('C:/Users/Documents/123.xlsx') 

我试图添加 –

values.add(row[col_c].value)以及其他列值,但我还没有取得任何成功。

IIUC,这是一个使用pandas的解决scheme:

 import pandas as pd df = pd.read_excel('remove_duplicates.xlsx') # Identifying duplicates only by column 'C4' # Further details https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duplicates.html df.drop_duplicates(['C4'],keep='first', inplace=True) 

inputexcel是这样的:

在这里输入图像说明

输出将是这样的: 在这里输入图像说明