【发布时间】:2017-11-22 23:52:54
【问题描述】:
我想 delete duplicates for Column D 和 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) 以及其他列值,但是我还没有成功。
【问题讨论】:
标签: python excel python-3.x openpyxl