IT・技術研修ならCTC教育サービス

サイト内検索 企業情報 サイトマップ

研修コース検索

コラム

Pythonでネットワーク自動化をしよう

CTC 教育サービス

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes 

第21回 OpenPyXLライブラリ(1)基本的な操作 (小澤昌樹) 2024年7月

1. はじめに

みなさん、こんにちは。

前回までは、Pythonライブラリの中で、ネットワーク機器を操作するsubprocess、telnetlib、netmiko、NAPALMについて説明してきました。これらのライブラリはネットワーク機器とのコミュニケーションを効率的に行うためのライブラリで、それぞれが異なる機能や特徴を持っています。

さて今回からは、Excelファイルを操作できるOpenPyXLライブラリについて説明します。OpenPyXLはPythonからExcelを直接操作でき、データ分析、自動レポート生成、データのバッチ処理など、多様なシナリオで活用できます。ネットワークエンジニアにとっても、ネットワーク機器の設定をまとめたり、そこからデータを取り込んだり、運用報告書を作成するなど、Pythonスクリプトを使ってExcelファイルの作成を自動化する際に、このライブラリは非常に便利です。

2. OpenPyXLライブラリ

OpenPyXLは、Excel 2007以降のファイル形式に対応した、Pythonライブラリです。このライブラリを使用することで、Pythonスクリプトから直接、Excelファイルを操作することが可能になります。Excel 2007のリリースによって導入されたMicrosoft Office Open XML (OOXML) 形式は、従来のバイナリ形式の.xlsファイルに代わる新しいファイル形式であり、.xlsx(スタンダードなスプレッドシート)、.xlsm(マクロを含むスプレッドシート)、.xltx(テンプレート)、.xltm(マクロを含むテンプレート)などが含まれます。XMLをベースにデータを格納するため、ファイルサイズが小さく、データの抽出やファイルの再構築が容易になるという利点があります。また、Excelだけでなく、他のMicrosoft Office製品でも採用されているため、文書、プレゼンテーション、スプレッドシート間の相互運用性とデータアクセス性が大幅に向上しています。

OpenPyXLを利用するメリットは以下の通りです。

  • 直感的なAPIが提供されているので使いやすく、初心者でも比較的簡単に使い始めることができます。
  • 基本的なExcel操作から複雑な処理まで幅広くカバーしています。
  • 新機能の追加やバグ修正が頻繁に行われ、ライブラリが常に改善されています。
  • オープンソースなので、無償で利用可能であり、ソースコードが公開されているため、カスタマイズや拡張が可能です。

OpenPyXLの主な機能は、Excelの基本操作を幅広くサポートしています。

  • Excelファイルの読み書き
  • シートの追加、名前変更、削除
  • セルへの値の設定と読み取り
  • セル、列、行のスタイル設定(フォントサイズ、色、罫線など)
  • 数式の使用
  • チャートの作成

OpenPyXLは、データ分析、自動化プロセス、複雑なデータ操作を必要とする業務において、便利に活用されています。

  • 大量のデータを分析し、レポートを作成する
  • 定期的にデータを更新し、レポートを自動生成する
  • 複数のExcelファイルをまとめて処理する
  • VBAマクロの代わりにPythonスクリプトを使用する

3. OpenPyXLライブラリの基本的な使い方

それでは、OpenPyXLライブラリの基本的な使い方を紹介しましょう。OpenPyXLを使用するためにはインストールが必要です。インストールして、Excelファイルの読み込み、書き込み、新規作成の基本的な手順を見ていきましょう。

OpenPyXLのインストール

OpenPyXLもサードパーティ製ライブラリなので、これまでと同様にpipを使用してインストールします。以下のコマンドを実行します。「openpyxl」はすべて小文字です。


$ pip install openpyxl
Excelファイルの新規作成と保存

新しいExcelファイルを作成し、最初のシートにいくつかのデータを追加した後、指定したファイル名で保存する方法です。


from openpyxl import Workbook

# ワークブックを新規作成します。ワークブックはExcelファイルに相当します。 wb = Workbook()
# アクティブなワークシートを取得します。ワークシートはExcelのタブに相当します。 ws = wb.active
# セルに値を設定します。ここではA1に"Hello"、B1に"world!"という文字列を格納しています。 ws[’A1’] = "Hello" ws[’B1’] = "World!"
# ファイルを保存します。この例では、"sample.xlsx"という名前のファイルが作成されます。 wb.save("sample.xlsx")
既存のExcelファイルを開いて編集

既存のExcelファイルを開き、新しいデータを追加して再び保存する方法です。


from openpyxl import load_workbook

# 既存のファイルを開きます。ここでは"sample.xlsx"というファイルを読み込んでいます。 wb = load_workbook(’sample.xlsx’)
# アクティブなワークシートを取得します。 ws = wb.active
# セルに値を追加します。A2セルに"Hello again"という文字列を追加しています。 ws[’A2’] = "Hello again"
# ファイルを上書き保存します。 wb.save(’sample.xlsx’)
Excelファイルからデータを読み取る

指定されたセルのデータを読み取り、その値を表示する方法です。これは、Excelファイルからの情報抽出やデータ分析など、さまざまなアプリケーションでよく使われます。


from openpyxl import load_workbook

# 既存のファイルを開きます。 wb = load_workbook(’sample.xlsx’)
# アクティブなワークシートを取得します。 ws = wb.active
# A1セルの値を読み取ります。 a1 = ws[’A1’].value
# B1セルの値を読み取ります。 b1 = ws[’B1’].value
print(a1, b1) # Hello World!
4. まとめ

今回は、Excelファイルを扱うためのOpenPyXLライブラリについて、基本的な操作を見てきました。手始めに、新しいExcelファイルの作り方、既にあるファイルへのちょっとした追記、そしてデータを読み取る方法を紹介しました。データ分析やレポート作成を簡単に進めたい時に役立つでしょう。

次回は、OpenPyXLのもう少し踏み込んだ使い方に目を向けてみましょう。より高度なExcel操作や、データ処理やレポート作成の自動化の方法などを紹介します。それでは、次回もお楽しみに。

 


 

 [IT研修]注目キーワード   Python  UiPath(RPA)  最新技術動向  Microsoft Azure  Docker  Kubernetes