PythonでExcelファイルを読み書きする方法を徹底解説!初心者から実務まで使える入門ガイド

python

Pythonを使うと、Excelファイルの読み書きを自動化して効率化できます。本記事では、初心者にもわかりやすく、基本的な操作から応用テクニック、よくあるエラーと対処法までを解説します。

PythonでExcelを扱うメリットとは?

Excelは多くのビジネス現場で使われています。しかし、データが膨大になると手作業での処理は大変です。そこでPythonを使うと、数百行や数千行のデータでも一瞬で処理できます。さらに、条件に応じた抽出や書式の設定、グラフの生成まで自動化が可能です。手作業を減らすことで、作業効率だけでなくヒューマンエラーの防止にもつながります。

Excel操作でよく使われるライブラリ

PythonでExcelを扱う際には主に次のライブラリを利用します。

  • openpyxl:Excel(.xlsx形式)の読み書きに最もよく使われるライブラリ
  • pandas:データ分析向け。Excelを読み込んで集計や加工を簡単に行える
  • xlrd / xlwt:旧形式(.xls)の読み書き用。ただし現在は非推奨

そのため、まずはopenpyxlを習得するのがおすすめです。

PythonでExcelファイルを読み込む方法

openpyxlを使った基本的な読み込み

以下のコードは、Excelファイルを読み込んでセルの値を取得する例です。


from openpyxl import load_workbook

# Excelファイルを読み込む
wb = load_workbook("sample.xlsx")
sheet = wb.active

# A1セルの値を表示
print(sheet["A1"].value)

# 行ごとに読み込み
for row in sheet.iter_rows(values_only=True):
    print(row)

iter_rowsを使うと効率的に行データを取り出せます。特に大きなExcelを扱う場合に有効です。

pandasを使った簡単な読み込み

データ分析や集計をしたい場合はpandasが便利です。


import pandas as pd

df = pd.read_excel("sample.xlsx")
print(df.head())

pandasを使えば、データフレームとして操作できるため、統計処理やフィルタリングが容易に行えます。

PythonでExcelファイルに書き込む方法

openpyxlでセルに書き込む

Excelへの書き込みもシンプルです。


from openpyxl import Workbook

# 新しいExcelファイルを作成
wb = Workbook()
sheet = wb.active

# セルに値を書き込み
sheet["A1"] = "名前"
sheet["B1"] = "年齢"
sheet.append(["Taro", 25])
sheet.append(["Hanako", 30])

# 保存
wb.save("output.xlsx")

append()を使うとリストを行単位で追加できるため、表形式データの保存がスムーズです。

pandasでDataFrameをExcelに保存

pandasを利用すると、データフレームをそのままExcelに書き出せます。


import pandas as pd

data = {
    "名前": ["Taro", "Hanako"],
    "年齢": [25, 30]
}

df = pd.DataFrame(data)
df.to_excel("pandas_output.xlsx", index=False)

簡潔に書けるため、データ集計後にそのままレポートをExcel形式で保存するケースに便利です。

応用テクニック

セルの書式設定やスタイルを変更する

openpyxlを使えば、フォントや色、罫線を設定できます。


from openpyxl.styles import Font, PatternFill

sheet["A1"].font = Font(bold=True, color="FFFFFF")
sheet["A1"].fill = PatternFill(start_color="0000FF", fill_type="solid")

このように、見やすいExcelファイルを自動で生成することが可能です。

複数シートを扱う

ワークブック内に複数のシートを作成・切り替えもできます。


ws1 = wb.create_sheet(title="売上データ")
ws2 = wb.create_sheet(title="顧客データ")

複数のデータを一つのExcelにまとめると、業務効率がさらに向上します。

よくあるエラーと注意点

  • 文字化け:Excelは基本的にUTF-8に対応していますが、日本語が含まれる場合は環境依存の問題が起きることがあります。
  • ファイルが開けない:Excelでファイルを開いたまま保存しようとするとエラーが出ます。必ず閉じてから実行しましょう。
  • ライブラリが見つからないpip install openpyxl pandasで事前にインストールしてください。

Excel活用の具体的なシーン

PythonでExcelを扱えると、実務の幅が大きく広がります。例えば、売上データの集計、顧客リストの整理、レポートの自動作成などです。特にpandasと組み合わせれば、数万件規模のデータ分析も可能になります。そのため、習得しておくと業務効率化やデータ分析力の向上に直結します。

Python初心者におすすめのサービス

「もっと実践的なコード例が欲しい」「自分の用途に合わせて教えてほしい」という方には、

テックアカデミーがおすすめです。

AI関連コースやシステム開発コース、アプリ開発コースなど豊富な学習が可能です。

さらに今なら無料相談でアマギフプレゼントもあるので、気軽にお申込みしてみてください。

テックアカデミー無料相談

また、プログラミング学習のプラットフォームとして、ココナラでは、現役エンジニアや経験豊富なPython講師が、あなたのレベルや目的に合わせてマンツーマンで指導してくれます。

書籍や動画ではカバーしきれない、あなた専用のカリキュラムで学べるのが最大の魅力。短時間で効率的にスキルを伸ばしたいなら、まずは出品者のサービスをチェックしてみましょう。

また、教える側としてスキルを活かして副業・独立を目指すことも可能です。
プログラミング経験やPythonの知識があれば、自分の得意分野をサービスとして出品し、全国の学習者から直接依頼を受けられます。オンラインで完結するため、場所や時間に縛られず、自分のペースで働けるのも大きなメリットです。

こちらのリンクから詳細をチェックしてみてください。

▶ ココナラを活用する

まとめ

PythonでExcelファイルを読み書きする方法は、openpyxlpandasを使うと簡単に実現できます。基本操作に加え、応用的なスタイル変更やシート操作まで習得しておくと、実務で大いに役立つでしょう。

以下のリンクから、

SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。

SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

参考リンク

コメント

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