PythonでExcelの読み込み/書き込みをする方法4選!

Python

PythonでExcelの読み込み/書き込みする方法を知りたいときはないでしょうか。

けど、そんな中で悩むことは、

・PythonでExcelの読み込み/書き込みする方法がわからない
・PythonでExcelの読み込み/書き込みする方法がいくつもあるが、それぞれの方法がわからない

ですよね。

今回はそんなお悩みを解決する

・PythonでExcelの読み込み/書き込みする方法4選

についてまとめます!

PythonでExcelの読み込み/書き込みする方法

Pythonを実行する方法を以下にいくつかの方法を紹介します。

①xlwingsを使用する方法

xlwingsはExcelとPythonをつなぐことができるPythonライブラリで、ExcelとPythonの相互連携が容易になります。xlwingsを使用すると、Excel VBAマクロの代わりにPythonコードを使用してExcelの操作ができるようになります。

ExcelからPythonコードを呼び出すことができ、PythonコードからExcelのセルやワークシートのデータを読み書きすることができます。

使い方

xlwingsを使ってExcelとPythonを連携させる場合、Excelファイル内にPythonコードを記述し、ExcelからPythonを実行します。

Excelファイルを開き、xlwingsをインストールした状態で、xlwingsの機能を使ってPythonを実行することができます。

xlwingsをインストール

xlwingsをインストールしていない場合は先にインストールをしてください。

1. コマンドプロンプトまたはターミナルを開きます。

2. pipコマンドを使用して、xlwingsをインストールします。以下のコマンドを入力してEnterキーを押します。

pip install --upgrade pip
pip install xlwings

インストールが完了したら、Pythonスクリプトでimport xlwingsを使用してxlwingsをインポートできます。

Pythonファイル

Pythonを実行するためのファイルを用意します。

テキストファイルで空のテキストを作成し、以下のコードを貼り付けます。

import xlwings as xw

def main():
    xw.Range("A1").value = 'こんにちは、エク短!'

if __name__ == '__main__':
    main()

つづいて、拡張子を.pyにして任意のファイル名で保存します。

場所も好きなところで結構です。サンプルは以下としています。

F:\test\script.py

次にscript.pyと同じファイル名前(拡張子は別です)でExcelファイルを作成し、同じ場所へ保存します。

実行する

xlwingsタブをクリックし実行ボタンをクリックします。

実行結果です。

こんにちは、エク短!

実行したExcelファイル上への書き込みができましたね。

続いてExcelファイルを読み込んでそこのA1セルに文字列を書き込むようにしましょう。

以下のコードに差し替えます。

import xlwings as xw

def main():
    path = r'F:\test\testbook.xlsx'

    # 外部Excelファイルを開く
    book = xw.Book(path)

    # A1セルに値を書き込む
    book.sheets[0].range("A1").value = 'こんにちは、エク短!'

    # ブックを保存して閉じる
    book.save()
    book.close()

if __name__ == '__main__':
    main()

実行してみましょう。

はい、外部ExcelファイルのA1セルに文字列が書き込まれましたね!

②openpyxlモジュールを使用する方法:

openpyxlは、PythonでExcelファイル(xlsxファイルやxlsmファイル)を扱うためのモジュールです。Excelファイルの読み込みや書き込み、セルの操作などができます。

PythonコードからExcelのセルやワークシートのデータを読み書きすることができます。

使い方

openpyxlモジュールを使ってExcelとPythonを連携させる場合、Pythonコードを記述し、PythonからExcelを呼び出します。

以下サンプルコードです。

import openpyxl

def main():
    # Excelブックを開く
    path = r'F:\test\testbook.xlsx'
    workbook = openpyxl.load_workbook(path)

    # A1セルに値を書き込む
    worksheet = workbook.active
    worksheet['A1'].value = 'こんにちは、エク短!'

    # Excelブックを保存する
    workbook.save(path)
    workbook.close()

if __name__ == '__main__':
    main()

拡張子を.pyにして任意のファイル名で保存します。

openpyxlモジュールをインストール

openpyxlモジュールをインストールしていない場合は先にインストールをしてください。

1. コマンドプロンプトまたはターミナルを開きます。

2. pipコマンドを使用して、openpyxlモジュールをインストールします。以下のコマンドを入力してEnterキーを押します。

pip install --upgrade pip
pip install openpyxl

実行する

コマンドプロンプト等でPythonファイルを実行します。

実行結果です。

実行したExcelファイルへの読み込みと書き込みができましたね。

③win32comモジュールを使用する方法:

win32com は、Windows上で動作するPythonプログラムがCOM(Component Object Model)を使用してWindowsアプリケーションにアクセスするためのモジュールです。Microsoft Officeアプリケーション(例えば、Excel、Word、PowerPointなど)と対話することができます。

win32comモジュールを使用して、Excelのセルやワークシートのデータを読み書きすることができます。

使い方

win32comモジュールを使ってExcelとPythonを連携させる場合、Pythonコードを記述し、PythonからExcelを呼び出します。

以下サンプルコードです。

import win32com.client

def main():
    # Excelアプリケーションを開く
    excel = win32com.client.Dispatch("Excel.Application")
    # Excelブックを開く
    path = r'F:\test\testbook.xlsx'
    workbook = excel.Workbooks.Open(path)

    # A1セルに値を書き込む
    worksheet = workbook.ActiveSheet
    worksheet.Range("A1").Value = 'こんにちは、エク短!'

    # Excelブックを保存する
    workbook.Save()
    workbook.Close()

if __name__ == '__main__':
    main()

拡張子を.pyにして任意のファイル名で保存します。

win32comモジュールをインストール

win32comモジュールをインストールしていない場合は先にインストールをしてください。

1. コマンドプロンプトまたはターミナルを開きます。

2. pipコマンドを使用して、openpyxlモジュールをインストールします。以下のコマンドを入力してEnterキーを押します。

pip install --upgrade pip
pip install pywin32

実行する

コマンドプロンプト等でPythonファイルを実行します。

実行結果です。

実行したExcelファイルへの読み込みと書き込みができましたね。

タカヒロ
タカヒロ
VBAと動きが一緒なので、タカヒロ的には一番馴染みがあるやり方ですね。

④pandasモジュールを使用する方法:

pandas(パンダス)は、Pythonのデータ解析ライブラリであり、様々な形式のデータを取り扱うことができます。pandasを使うことで、表形式のデータであるデータフレーム(DataFrame)や、シリーズ(Series)と呼ばれる1次元の配列を扱うことができます。

pandasは、大量のデータを扱う際には非常に便利で、データ分析や機械学習などの分野でよく使用されます。
Excelのセルやワークシートのデータを読み書きすることもできます。

使い方

pandasモジュールを使ってExcelとPythonを連携させる場合、Pythonコードを記述し、PythonからExcelを呼び出します。

以下サンプルコードです。

import pandas as pd

def main():
    # Excelブックを開く
    path = r'F:\test\testbook.xlsx'
  
    workbook = pd.read_excel(path, sheet_name='Sheet1')

    workbook.loc[0, 'A'] = 'こんにちは、エク短!'

    # A1セルに値を書き込む

    # Excelファイルに書き込む
    workbook.to_excel(path, sheet_name='Sheet1', index=False)

if __name__ == '__main__':
    main()

拡張子を.pyにして任意のファイル名で保存します。

pandasモジュールをインストール

pandasモジュールをインストールしていない場合は先にインストールをしてください。

1. コマンドプロンプトまたはターミナルを開きます。

2. pipコマンドを使用して、openpyxlモジュールをインストールします。以下のコマンドを入力してEnterキーを押します。

pip install --upgrade pip
pip install pandas

実行する

コマンドプロンプト等でPythonファイルを実行します。

実行結果です。

実行したExcelファイルへの読み込みと書き込みができましたね。

タカヒロ
タカヒロ
A1のつもりがA2になりますね。セルの指定方法がいまいちわからないですね…

Pythonの実行方法

Pythonの実行方法については別の記事に詳しくまとめていますので、こちらをご覧ください。
Pythonを実行する方法4選!Excel経由の実行方法も!

さいごに

いかがでしょうか。

今回は、

・PythonでExcelの読み込み/書き込みする方法4選

についてまとめました。

また、他にも便利な方法がありますので、よろしければご参照頂ければと思います。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。








コメントを残す

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