Pythonを使ってのコーディングの際に、エクセルでいう重複の削除をしたい場面はありますよね。サンプルコード作成しましたので活用してください
目次
Python(openpyxl)で重複の削除をしたい
下記コードの前提は1列目の重複の削除をしています。
1列目から取得。Data_expリストに格納するサンプルコードです。
# データの読み込み(データ名は"data.xlsx")
import openpyxl
wb = openpyxl.load_workbook("data.xlsx")
ws = wb.worksheets[0]
Data_exp =[]
for i in range(1,ws.max_row) :
if ws.cell(i,1).value != ws.cell(i-1,1).value:
Data_exp.append(ws.cell(i,1).value)
Data_exp = list(filter(None, Data_exp))
ws.max_rowはエクセル内での行の最大値を取得しています。
最後にfilterメソッドでData_expの中にあるNoneを削除する処理を入れています。
一つ上の行と違う場合にリストに入れていくコードとなっています。活用くださいね。
Pandasを使って重複の削除をしたい
import pandas as pd
df = pd.read_excel("data.xlsx")
del_list = df.loc[:,"従業員番号"].drop_duplicates(keep='last').dropna().to_list()
上記のコードは「従業員番号」の重複の削除を実行するコードとなっています。
openpyxlを使うより簡単ですね。
コメント