PythonでExcelの「部分行だけ」読み込む入門 — nrows=100
Excelファイルが大きいとき、「全部読み込む必要はない、先頭の一部だけ見たい」という場面があります。そんなときに便利なのが nrows。初心者向けに、コード例とテンプレートを交えて解説します。
基本の使い方
import pandas as pd
# 先頭100行だけ読み込む
df = pd.read_excel("bigdata.xlsx", nrows=100)
print(df.head())
Python- ポイント:
nrows=100→ 先頭から100行分だけ読み込みます。- 大きなファイルの「お試し読み込み」や「サンプル確認」に最適です。
よくあるパターン別テンプレート
1. 先頭100行だけ確認
df = pd.read_excel("sales.xlsx", nrows=100)
print(df.info())
Python- 狙い: ファイル全体を読む前に、列構成や型を確認。
2. 説明行を飛ばしてから部分読み込み
df = pd.read_excel("report.xlsx", skiprows=5, nrows=100, header=0)
Python- 狙い: 先頭5行がタイトルや注記 → 6行目から100行分だけ読む。
3. 列名がない場合に部分読み込み
df = pd.read_excel(
"no_header.xlsx",
header=None,
names=["date", "item", "qty", "price"],
nrows=50
)
Python- 狙い: 列名を自分で付けて、先頭50行だけ確認。
4. 列を絞って部分読み込み
df = pd.read_excel(
"orders.xlsx",
usecols=["OrderDate", "Amount"],
parse_dates=["OrderDate"],
nrows=200
)
Python- 狙い: 欲しい列だけ+先頭200行だけ → 軽くて速い。
読み込み後の整形ワザ
- 数値変換:
df["Amount"] = pd.to_numeric(df["Amount"], errors="coerce")
Python- 日付変換:
df["OrderDate"] = pd.to_datetime(df["OrderDate"], errors="coerce")
Python- 欠損補完:
df = df.fillna(0)
Pythonつまずきやすいポイント
- nrowsは「先頭から」だけ:
→ 中間や末尾の行を読みたい場合はskiprowsと組み合わせる。
例: 先頭100行を飛ばして、次の50行だけ読む
df = pd.read_excel("data.xlsx", skiprows=100, nrows=50)
Python- 大きなファイルでの確認:
→ まずnrows=100でサンプルを見て、列名や型を決めてから本読み込みすると効率的。
ミニ例題(練習用)
例題1:先頭100行だけ読み込んで確認
import pandas as pd
df = pd.read_excel("sales.xlsx", nrows=100)
print(df.head())
Python例題2:説明行を飛ばして部分読み込み
import pandas as pd
df = pd.read_excel("report.xlsx", skiprows=3, nrows=50, header=0)
print(df.info())
Python例題3:中間部分だけ読み込む
import pandas as pd
# 先頭200行を飛ばして、次の100行を読む
df = pd.read_excel("bigdata.xlsx", skiprows=200, nrows=100)
print(df.head())
Pythonまとめ
- 部分行だけ →
nrows - 説明行を飛ばす →
skiprowsと組み合わせる - 列名がない →
header=None+names=[...] - 巨大ファイルは「部分読み込み」でまず構造確認 → 本読み込み
