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ファイルを読み書きする方法は、openpyxl
やpandas
を使うと簡単に実現できます。基本操作に加え、応用的なスタイル変更やシート操作まで習得しておくと、実務で大いに役立つでしょう。
以下のリンクから、
SESの組込みシステムから色々な不満を持ち、自社WEBサービスへ転職した実体験の記事がありますので、是非読んでみてください。とても喜びます。
SESの組込みシステムから自社WEBサービスのエンジニアに転職した話

コメント