Python Excel操作 逆引き集 | 部分行だけ読み込む(nrows)

Python
スポンサーリンク

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=[...]
  • 巨大ファイルは「部分読み込み」でまず構造確認 → 本読み込み
タイトルとURLをコピーしました