PythonのopenpyxlでExcelファイルを作成・書き込みする基本

この記事では、Pythonのopenpyxlライブラリを使い、新しいExcelワークブックの作成、シートの追加・削除、セルへのデータ書き込みといった、基本的なExcelファイル書き出し操作について解説します。


目次

1. 新しいExcelブックの作成と保存

openpyxl.Workbook()を呼び出すことで、メモリ上に新しい空のワークブックが作成されます。この時点ではまだファイルは保存されていません。

ワークブックには、デフォルトで'Sheet'という名前のシートが一つ含まれています。wb.activeでこのシートにアクセスし、.title属性で名前を変更できます。

最後に、wb.save()メソッドを呼び出して、ワークブックを.xlsxファイルとしてディスクに保存します。

import openpyxl

# 新しいワークブックを作成
workbook = openpyxl.Workbook()

# アクティブなシートを取得
sheet = workbook.active

# シートのタイトルを変更
sheet.title = 'SalesReport'

# 'sales_report_2025.xlsx'という名前でファイルを保存
workbook.save('sales_report_2025.xlsx')

2. シートの追加と削除

ワークブックに新しいシートを追加したり、不要なシートを削除したりすることも簡単です。

wb.create_sheet() このメソッドは新しいシートを作成します。title引数でシート名を、index引数でシートの位置(0から始まる)を指定できます。

del wb['シート名'] 指定した名前のシートを削除します。(古いremove_sheet()は非推奨)

import openpyxl

# 空のワークブックを作成
workbook = openpyxl.Workbook()

print(f"作成直後のシート: {workbook.sheetnames}")

# 新しいシートを追加
workbook.create_sheet(title='ProductsList', index=0) # 先頭にシートを追加
workbook.create_sheet(title='ClientData') # 末尾にシートを追加

print(f"追加後のシート: {workbook.sheetnames}")

# 'Sheet'という名前のデフォルトシートを削除
del workbook['Sheet']

print(f"削除後のシート: {workbook.sheetnames}")

workbook.save('multi_sheet_example.xlsx')

3. セルに値を書き込む

シートオブジェクトのセルに値を書き込むには、'A1'のような座標をキーとして直接代入するのが最も簡単な方法です。

import openpyxl

# 新しいワークブックを作成
workbook = openpyxl.Workbook()
sheet = workbook.active

# セルA1に文字列を書き込む
sheet['A1'] = 'Sample Report'

# セルB2に数値を書き込む
sheet['B2'] = 12345

# 簡単なデータリストを書き込むループ
data = [
    ['Product', 'Price', 'Stock'],
    ['Apple', 150, 200],
    ['Banana', 120, 350],
]

for row_data in data:
    sheet.append(row_data) # appendは次の空いている行にリストを書き込む便利なメソッド

workbook.save('data_entry_example.xlsx')

まとめ

openpyxlによるExcelファイルの作成と書き出しは、openpyxl.Workbook()で新しいブックオブジェクトを作成し、シートを操作(名前変更、追加、削除)し、セルにsheet['A1'] = valueのように値を代入し、最後にworkbook.save()でファイルに保存する、という流れで行います。これらの基本操作を組み合わせることで、プログラムの計算結果を整形されたExcelレポートとして出力するなど、様々なタスクを自動化できます。

副業から独立まで「稼げる」Webスキルを習得する(PR)

ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。

「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。

このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。

講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。

副業に特化した強み

  • 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
  • AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
  • 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。

受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。

受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。

ブログで稼ぎたいなら「メイカラ」

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次