\

PythonとOpenpyxlを使用してExcelのデータをソートする方法について説明します。Excel内のデータが多くなるとソートに時間がかかったりします。また、複数のExcelファイルをソートするとなるとさらに時間がかかるため、Pythonで自動化してしまえば、その時間は優雅にティータイムにでもあてておきたいです。

PythonでExcelのデータを昇順・降順

Pythonを使用してExcelのデータの昇順・降順を行う方法について紹介します。今回は2つの方法で紹介しようと思います。

  1. win32comを使用した昇順・降順
  2. openpyxl & pandasを使用した昇順・降順

どちらの方法でも同じような結果を出すことが出来ます。個人的な使い分けとしては、Excelファイルのみで完結するのか?どうかで使い分けをしています。

win32comを使用したExcelの昇順・降順

最初はwin32comというライブラリを使用した場合の昇順・降順を紹介していきます。

import win32com.client

file_path = r"C:\\Users\\user\\Desktop\\syukujitsu.xlsx"

#Excelファイル操作のための準備
excel = win32com.client.Dispatch("Excel.Application")
wb = excel.Workbooks.Open(Filename=file_path)

#Sort 数値の割り振り
xlAscending = 1
xlDescendig = 2
xlYes = 1

#B列で昇順
wb.Sheets(1).Columns("A:B").Sort(Key1=wb.Sheets(1).Range('B2'), Order1=xlAscending, Header=xlYes)

#A列で降順
wb.Sheets(1).Columns("A:B").Sort(Key1=wb.Sheets(1).Range('A2'), Order1=xlDescendig, Header=xlYes)

#Excelファイルを保存
wb.Save()

#Excelを閉じる
excel.Quit()

openpyxl & pandasを使用したExcelの昇順・降順

次に、openpyxlとpandasを使用した場合の昇順・降順を紹介します。

from openpyxl import load_workbook

wb=load_workbook('NotSorted.xlsx')
ws1=wb.get_sheet_by_name('Mean')

ws1.auto_filter.add_sort_condition('J2:J21')

wb.save('Sorted.xlsx')

以上がPythonとOpenpyxlを使用してExcelのデータをソートする方法になります。これらの方法を活用すれば、Excelのデータを効率的にソートすることが可能になります。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です