Pythonでエクセル(Excel)の重複の削除をしたい

全般

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を使うより簡単ですね。

コメント

タイトルとURLをコピーしました