Excelの表データをPythonで読み取れるようになると、作業効率が一気に上がります🚀✨
たとえば「毎月の集計」「定型レポート作成」「CSV化」「データ整形」「チェック自動化」などが、クリック作業ゼロで回せるようになります🧠✅
pip install openpyxl
pip install pandas openpyxl
from openpyxl import load_workbook
path = r"C:\work\data.xlsx" # 🔁 自分のExcelパスに変更
wb = load_workbook(path, data_only=True) # ✅ 数式セルは計算結果の値を取得
ws = wb["Sheet1"] # または wb.active
data_only=True を付けると、数式の「式」ではなく「表示値(計算結果)」を取りやすいです🧠✅value = ws["B2"].value
print(value)
rows = ws["A1":"D10"]
for row in rows:
values = [cell.value for cell in row]
print(values)
for r in range(1, 11): # 1〜10行
for c in range(1, 5): # 1〜4列(A〜D)
print(ws.cell(r, c).value)
r = 1
while ws.cell(r, 1).value is not None: # A列が空になるまで
row_values = [ws.cell(r, c).value for c in range(1, ws.max_column + 1)]
print(row_values)
r += 1
for row in ws.iter_rows(min_row=1, max_row=100, min_col=1, max_col=10, values_only=True):
print(row)
values_only=True のメリットcell.value を毎回書かなくてOK✨import pandas as pd
path = r"C:\work\data.xlsx"
df = pd.read_excel(path, sheet_name="Sheet1") # 先頭行をヘッダー扱い
print(df.head())
df = pd.read_excel(path, sheet_name="Sheet1", header=1)
df = pd.read_excel(path, sheet_name="Sheet1", usecols="A:D")
usecolsで列を絞る🎯data_only=True が基本✅openpyxl は基本 xlsx 用です🧷Excel読み込みで「日本語が文字化け」は少なめですが、
CSV変換後に文字化けするケースが多いです⚠️
➡️ CSV出力は encoding="utf-8-sig" を使うのが鉄板です🧠✅
import pandas as pd
path = r"C:\work\data.xlsx"
df = pd.read_excel(path, sheet_name="Sheet1")
df.to_csv(r"C:\work\data.csv", index=False, encoding="utf-8-sig")
✅ 毎月のExcel集計を自動化して、作業時間を半分以下に⏱️
✅ チェック表の“漏れ・重複”を自動検知してミス削減🛡️
✅ Excel→CSV→DB登録まで一気通貫で自動化🔁
✅ レポートを自動生成して“考える時間”を増やせる🧠✨
表を丸ごと扱うならpandas📈、セル単位で細かく扱うならopenpyxl🧷 が最短です✅
load_workbook(..., data_only=True) を使ってください✅
ただしExcel側で未計算だと古い値になることがあります💡(一度開いて保存が確実です💾)
openpyxlならこれで一覧が取れます✅
print(wb.sheetnames)
「A列が空になったら終了」のような単純ルールだと途切れます⚠️
➡️ 対策は「最大行まで読む」「キー列を複数見る」「表範囲を固定する」が安定です🧠✅
それならpandasが最強です🔥groupby() や pivot_table() でExcelより速く集計できます🚀✨
イラスト1枚から、テクスチャ付…