pandas read_excel()の使い方|Excelファイル読み込み・sheet_name・usecolsを解説

Pythonでデータ分析を始めると、CSVファイルだけでなく、Excelファイルを読み込みたい場面もよくあります。

たとえば、次のような場面です。

  • 会社や学校から配布されたデータが .xlsx 形式になっている
  • Excelファイルの中に複数のシートがある
  • 必要な列だけ読み込みたい
  • 1行目にタイトルや説明文があり、表の見出しがずれている
  • 読み込んだあと、日付や数値の型が合っているか確認したい

結論からいうと、Excelファイルをpandasで読み込むには、まず pd.read_excel("ファイル名.xlsx") を使います。

そのうえで、必要に応じて次のように指定します。

やりたいこと 使う指定
複数シートから特定のシートを読み込みたい sheet_name
必要な列だけ読み込みたい usecols
見出し行がずれている header
表の上に説明行がある skiprows
特定の列をインデックスにしたい index_col

この記事では、Google Colabで手元のExcelファイルをアップロードして読み込む方法にも軽く触れつつ、練習用のサンプルExcelファイルを作りながら、read_excel() の基本、sheet_nameusecolsheaderskiprows の使いどころ、読み込み後に確認すべきポイントまでを初心者向けに整理します。

  1. この記事でわかること
  2. Excelファイルを読み込んだ後の流れ
  3. read_excel()とは?
  4. Google Colabで自分のExcelファイルを読み込む場合
  5. 練習用のExcelファイルを用意する
  6. まずは基本形でExcelファイルを読み込む
  7. sheet_nameで読み込むシートを指定する
  8. usecolsで必要な列だけ読み込む
  9. headerとskiprowsで見出し行のズレを調整する
    1. headerで「列名として使う行」を指定する
    2. skiprowsで「読み飛ばす行」を指定する
  10. index_colは必要な場合だけ使う
  11. read_excel()とread_csv()の違い
  12. ExcelをCSVに変換してから扱ったほうがよい場合
  13. よくあるミスとエラー対処
    1. read_csv()でExcelファイルを読もうとしてしまう
    2. sheet_nameを列名だと思ってしまう
    3. usecolsで行を絞ろうとしてしまう
    4. openpyxlが必要というエラーが出る
  14. 読み込んだ後は前処理につなげる
  15. read_excel()で押さえるポイントを整理する
  16. まとめ
  17. 次に読みたい関連記事
    1. カテゴリから探す
    2. pandasでExcelファイルを読み込むにはどうすればよいですか?
    3. read_excel()とread_csv()の違いは何ですか?
    4. Excelの複数シートを読み込むにはどうすればよいですか?
    5. 特定の列だけ読み込むにはどうすればよいですか?
    6. 1行目が見出しではないExcelはどう読み込めばよいですか?
    7. 列名を自分で付けたい場合はどうすればよいですか?
    8. openpyxlが必要というエラーが出たらどうすればよいですか?
    9. 読み込んだExcelの日付や数値の型がおかしいときはどうすればよいですか?
    10. Excelに保存するにはto_excel()を使えばよいですか?
    11. ExcelはCSVに変換してから扱ったほうがよいですか?

この記事でわかること

この記事では、次の内容を扱います。

  • Google Colabで手元のExcelファイルをアップロードして読み込む基本
  • pd.read_excel() でExcelファイルをDataFrameとして読み込む基本
  • sheet_name でシートを指定する方法
  • usecols で必要な列だけ読み込む方法
  • headerskiprows で見出し行や不要な説明行を調整する方法
  • read_excel()read_csv() の違い
  • 読み込んだあとに head()info()describe() で確認する流れ
  • Excel読み込み後に、列名変更・型変換・日付変換・欠損値処理へ進む考え方

Excelファイルを読むこと自体がゴールではありません。
読み込んだ表をDataFrameとして確認し、前処理・抽出・集計・可視化へ進める状態にすることが大切です。

Excelファイルを読み込んだ後の流れ

Excelファイルの読み込みは、データ分析の最初の入口です。
ただし、read_excel() で読み込んで終わりではありません。

読み込んだ表をDataFrameとして確認し、必要に応じて列名・型・日付・欠損値を整えてから、抽出・集計・可視化へ進む流れが大切です。

学習の流れとしては、次のように考えると自然です。

  1. Google ColabでPythonを動かす
  2. read_excel() でExcelファイルをDataFrameとして読み込む
  3. head()info()describe() で中身を確認する
  4. 必要に応じて列名・型・日付・欠損値を整える
  5. 条件抽出・集計・可視化へ進む

CSVファイルを読み込む場合は read_csv()、Excelファイルを読み込む場合は read_excel() を使います。
この記事では、ExcelファイルをDataFrameとして読み込み、分析しやすい形に整える入口までを中心に説明します。

read_excel()とは?

read_excel() は、ExcelファイルをpandasのDataFrameとして読み込むための関数です。

基本形は次のとおりです。

pd.read_excel("ファイル名.xlsx")

シンプルなExcelファイルであれば、まずはこの形で読み込めます。

ただし、実際のExcelファイルでは、次のような調整が必要になることがあります。

困る場面 使う引数 考え方
シートが複数ある sheet_name どのシートを読むか指定する
列が多すぎる usecols 必要な列だけ読む
1行目が見出しではない header どの行を列名として使うか指定する
表の上に説明行がある skiprows 不要な行を読み飛ばす
ID列を行ラベルにしたい index_col 特定の列をインデックスにする
見出しがない表に列名を付けたい names 列名を自分で指定する

初心者のうちは、最初からすべての引数を覚える必要はありません。
まずは「何に困っているか」と「どの引数で調整するか」を対応させて理解しましょう。

なお、names は列名を自分で付けたいときに使える引数ですが、初心者のうちはまず header で見出し行を正しく読み込む方法を優先すると理解しやすいです。

Google Colabで自分のExcelファイルを読み込む場合

自分のパソコンにあるExcelファイルをGoogle Colabで読み込みたい場合は、まずファイルをアップロードします。

なお、この章の from google.colab import files は、Google Colabで実行する場合の方法です。ローカルのJupyter Notebookを使っている場合は、ExcelファイルをNotebookと同じフォルダに置いて読み込めば大丈夫です。

※この章は、自分のパソコンにあるExcelファイルをアップロードして読み込む場合の手順です。記事内で作成するサンプルExcelを使う場合は、この章のコードは実行せず、次の「練習用のExcelファイルを用意する」章から実行してください。

次のコードを実行すると、ファイル選択ボタンが表示されます。
読み込みたい .xlsx ファイルを選んでアップロードしてください。

from google.colab import files

uploaded = files.upload()

アップロードできたら、ファイル名を指定して read_excel() で読み込みます。

たとえば、アップロードしたファイル名が sales_sample.xlsx の場合は、次のように書きます。

import pandas as pd

df = pd.read_excel("sales_sample.xlsx")
df.head()

この記事では、読者が同じコードをそのまま試せるように、次の章で練習用のExcelファイルを作成してから読み込みます。
すでに自分のExcelファイルがある場合は、このあとのサンプル作成部分を飛ばして、自分のファイル名に置き換えて進めても大丈夫です。

練習用のExcelファイルを用意する

ここでは、記事内で同じ結果を再現できるように、練習用のExcelファイルを作成します。

このコードは「Excelファイルを用意するための準備」です。
自分のExcelファイルを使う場合は、この章を飛ばして、ファイル名だけ自分のものに置き換えて進めてください。

サンプルは、sheet_nameheaderskiprows を説明できる最小限の内容にしています。

なお、Excelファイルの作成や読み込みでは、環境によって openpyxl が必要になることがあります。
Google Colabではそのまま使えることが多いですが、エラーが出た場合は後半の「openpyxlが必要というエラーが出る」を確認してください。

import pandas as pd

# 練習用の売上データ
sales_df = pd.DataFrame({
    "売上日": ["2025-04-01", "2025-04-02", "2025-04-03"],
    "店舗": ["東京店", "大阪店", "東京店"],
    "商品": ["ノートPC", "マウス", "キーボード"],
    "売上金額": [120000, 3000, 8000],
    "数量": [1, 2, 1]
})

# 複数シートの例に使う商品マスタ
master_df = pd.DataFrame({
    "商品": ["ノートPC", "マウス", "キーボード"],
    "カテゴリ": ["PC", "周辺機器", "周辺機器"]
})

file_path = "sales_sample.xlsx"

# 練習用のExcelファイルを作成
with pd.ExcelWriter(file_path, engine="openpyxl") as writer:
    sales_df.to_excel(writer, sheet_name="売上データ", index=False)
    master_df.to_excel(writer, sheet_name="商品マスタ", index=False)

    # 説明行が上にあるExcelを再現するため、3行目から表を書き込む
    sales_df.to_excel(writer, sheet_name="説明行あり", index=False, startrow=2)
    ws = writer.sheets["説明行あり"]
    ws["A1"] = "2025年4月 売上レポート"
    ws["A2"] = "※この行は説明行です。"

file_path
'sales_sample.xlsx'

まずは基本形でExcelファイルを読み込む

一番シンプルな読み込み方は、pd.read_excel() にExcelファイル名を指定する方法です。

次のコードでは、Excelファイルの先頭シートをDataFrameとして読み込みます。

df = pd.read_excel("sales_sample.xlsx")
df
売上日 店舗 商品 売上金額 数量
0 2025-04-01 東京店 ノートPC 120000 1
1 2025-04-02 大阪店 マウス 3000 2
2 2025-04-03 東京店 キーボード 8000 1

Excelファイルを読み込むと、pandasではDataFrameとして扱えます。
ここで大切なのは、読み込んで終わりにしないことです。

読み込んだ直後は、まず次の3つを確認しましょう。

確認したいこと 使うメソッド 見るポイント
先頭の数行 head() 想定した表になっているか
列名・型・欠損値 info() 日付や数値の型が合っているか
数値列の統計量 describe() 極端な値がないか

Excelでは見た目が整っていても、pandasで読み込むと型や列名が想定と違うことがあります。
そのため、読み込み後の確認はとても重要です。

df.head()
売上日 店舗 商品 売上金額 数量
0 2025-04-01 東京店 ノートPC 120000 1
1 2025-04-02 大阪店 マウス 3000 2
2 2025-04-03 東京店 キーボード 8000 1
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 5 columns):
 #   Column  Non-Null Count  Dtype 
---  ------  --------------  ----- 
 0   売上日     3 non-null      object
 1   店舗      3 non-null      object
 2   商品      3 non-null      object
 3   売上金額    3 non-null      int64 
 4   数量      3 non-null      int64 
dtypes: int64(2), object(3)
memory usage: 252.0+ bytes
df.describe()
売上金額 数量
count 3.000000 3.000000
mean 43666.666667 1.333333
std 66153.861061 0.577350
min 3000.000000 1.000000
25% 5500.000000 1.000000
50% 8000.000000 1.000000
75% 64000.000000 1.500000
max 120000.000000 2.000000

sheet_nameで読み込むシートを指定する

Excelファイルには、複数のシートが入っていることがあります。
この場合は、sheet_name を使って、どのシートを読み込むか指定します。

sheet_name は列名ではなく、Excelの下部に表示される「シート名」を指定するための引数です。

sales = pd.read_excel("sales_sample.xlsx", sheet_name="売上データ")
sales
売上日 店舗 商品 売上金額 数量
0 2025-04-01 東京店 ノートPC 120000 1
1 2025-04-02 大阪店 マウス 3000 2
2 2025-04-03 東京店 キーボード 8000 1
master = pd.read_excel("sales_sample.xlsx", sheet_name="商品マスタ")
master
商品 カテゴリ
0 ノートPC PC
1 マウス 周辺機器
2 キーボード 周辺機器

シート名ではなく、シート番号で指定することもできます。
ただし、初心者のうちはシート名で指定したほうが、あとから見返したときに意味がわかりやすいです。

pd.read_excel("sales_sample.xlsx", sheet_name=0)

複数シートをまとめて読み込む方法もありますが、この記事では深入りしません。
まずは「必要なシートを1つ選んで読み込む」ことを優先しましょう。

usecolsで必要な列だけ読み込む

Excelファイルには、分析に使わない列がたくさん入っていることがあります。
必要な列だけ読み込みたい場合は、usecols を使います。

たとえば、売上日の列、店舗の列、売上金額の列だけ読み込む場合は次のように書きます。

sales_selected = pd.read_excel(
    "sales_sample.xlsx",
    sheet_name="売上データ",
    usecols=["売上日", "店舗", "売上金額"]
)

sales_selected
売上日 店舗 売上金額
0 2025-04-01 東京店 120000
1 2025-04-02 大阪店 3000
2 2025-04-03 東京店 8000

usecols は「列を絞る」ための指定です。
行を絞り込むための指定ではありません。

読み込んだあとに「東京店だけを見たい」「売上金額が1万円以上だけを見たい」という場合は、read_excel() ではなく、DataFrameの条件抽出で行います。

headerとskiprowsで見出し行のズレを調整する

Excelファイルでは、1行目にタイトルや説明文があり、実際の表が2行目以降から始まることがあります。

たとえば、次のようなExcelです。

Excel上の行 内容
1行目 2025年4月 売上レポート
2行目 ※この行は説明行です。読み込み時には飛ばします。
3行目 売上日、店舗、商品、売上金額、数量
4行目以降 実際のデータ

このようなファイルをそのまま読むと、表の列名が正しく読み込まれないことがあります。
まずは、説明行ありのシートをそのまま確認してみます。

raw = pd.read_excel("sales_sample.xlsx", sheet_name="説明行あり", header=None)
raw.head(7)
0 1 2 3 4
0 2025年4月 売上レポート NaN NaN NaN NaN
1 ※この行は説明行です。 NaN NaN NaN NaN
2 売上日 店舗 商品 売上金額 数量
3 2025-04-01 東京店 ノートPC 120000 1
4 2025-04-02 大阪店 マウス 3000 2
5 2025-04-03 東京店 キーボード 8000 1

上のように、表の前にタイトル行や説明行がある場合は、header または skiprows で調整します。

headerで「列名として使う行」を指定する

header=2 と指定すると、0から数えて3行目を列名として使います。

df_header = pd.read_excel(
    "sales_sample.xlsx",
    sheet_name="説明行あり",
    header=2
)

df_header
売上日 店舗 商品 売上金額 数量
0 2025-04-01 東京店 ノートPC 120000 1
1 2025-04-02 大阪店 マウス 3000 2
2 2025-04-03 東京店 キーボード 8000 1

skiprowsで「読み飛ばす行」を指定する

同じ例では、先頭の2行を読み飛ばすために skiprows=2 と書くこともできます。

df_skiprows = pd.read_excel(
    "sales_sample.xlsx",
    sheet_name="説明行あり",
    skiprows=2
)

df_skiprows
売上日 店舗 商品 売上金額 数量
0 2025-04-01 東京店 ノートPC 120000 1
1 2025-04-02 大阪店 マウス 3000 2
2 2025-04-03 東京店 キーボード 8000 1

headerskiprows は似ていますが、考え方が少し違います。

指定 役割 使いやすい場面
header どの行を列名として使うか指定する 見出し行が何行目かはっきりしている
skiprows 指定した行を読み飛ばす 表の上に説明行やメモがある

初心者のうちは、「見出し行を指定したいなら header」「不要な行を飛ばしたいなら skiprows」と考えると理解しやすいです。

処理前後のイメージは次のとおりです。

状態 列名の見え方 データとして使いやすいか
説明行をそのまま読む タイトルや説明文が列名・データに混ざる 使いにくい
header=2 または skiprows=2 を指定する 売上日店舗商品 などが列名になる 使いやすい

index_colは必要な場合だけ使う

index_col は、特定の列をDataFrameのインデックスとして使うための引数です。

たとえば、売上日をインデックスにしたい場合は次のように書けます。

sales_index = pd.read_excel(
    "sales_sample.xlsx",
    sheet_name="売上データ",
    index_col="売上日"
)

sales_index
店舗 商品 売上金額 数量
売上日
2025-04-01 東京店 ノートPC 120000 1
2025-04-02 大阪店 マウス 3000 2
2025-04-03 東京店 キーボード 8000 1

ただし、初心者のうちは index_col を無理に使う必要はありません。

普通の列として残しておいたほうが、あとから to_datetime() で日付型に変換したり、条件抽出したりしやすいことも多いです。

状況 おすすめ
まずDataFrameの中身を確認したい index_col は指定しない
IDや日付を行ラベルとして使いたい理由がある index_col を検討する
インデックスにして迷った reset_index() で列に戻す

インデックスにした列を戻したい場合は、reset_index() が使えます。

sales_index.reset_index()
売上日 店舗 商品 売上金額 数量
0 2025-04-01 東京店 ノートPC 120000 1
1 2025-04-02 大阪店 マウス 3000 2
2 2025-04-03 東京店 キーボード 8000 1

read_excel()とread_csv()の違い

pandasで外部ファイルを読み込む代表的な関数に、read_excel()read_csv() があります。

どちらもDataFrameを作るための関数ですが、対象ファイルが違います。

比較項目 read_excel() read_csv()
対象ファイル Excelファイル CSVファイル
代表的な拡張子 .xlsx, .xls .csv
複数シート 扱える 基本的にない
よく使う引数 sheet_name, usecols, header, skiprows encoding, sep, usecols, header
使う場面 Excelで配布された表を読む CSVとして保存されたデータを読む

CSVファイルを読み込む場合は、pd.read_csv() を使います。
Excelファイルを読み込む場合は、pd.read_excel() を使います。

ここを混同すると、ファイルがうまく読めない原因になります。

ExcelをCSVに変換してから扱ったほうがよい場合

Excelファイルをpandasで読み込んだあと、毎回同じデータを分析するなら、CSVに変換して保存しておくと扱いやすくなります。

Excelは、複数シート、装飾、結合セル、説明行などを含められるため、人が見る資料としては便利です。
一方で、pandasで分析するデータとしては、1つの表に整理されたCSVのほうがシンプルです。

おすすめの流れは次のとおりです。

  1. read_excel() でExcelファイルを読み込む
  2. head()info() で中身を確認する
  3. 必要なシート・列・見出し行を整える
  4. 分析しやすいDataFrameになったらCSVとして保存する
  5. 次回以降は read_csv() で読み込む

判断基準を整理すると、次のようになります。

状況 おすすめ
Excelの中身を初めて確認する read_excel()
複数シートから必要な表を選びたい read_excel()
毎回同じ整った表を分析する CSVに変換して read_csv()
装飾や結合セルが多いExcel 必要な表だけ読み込み、CSV化を検討する
人に配る資料として使う Excelのまま
pandasで繰り返し分析する CSVのほうが扱いやすい

ただし、この記事の主役はあくまで read_excel() です。
CSV保存の細かい設定には深入りせず、「読み込んで整えたDataFrameを、必要に応じてCSVに保存できる」と理解しておけば十分です。

df = pd.read_excel("sales_sample.xlsx", sheet_name="売上データ")

# 分析しやすい形になったDataFrameをCSVとして保存する
df.to_csv("sales_sample.csv", index=False)

保存したCSVは、次回以降 read_csv() で読み込めます。
同じ整った表を繰り返し分析する場合は、この形にしておくと扱いやすくなります。

df_csv = pd.read_csv("sales_sample.csv")
df_csv.head()
売上日 店舗 商品 売上金額 数量
0 2025-04-01 東京店 ノートPC 120000 1
1 2025-04-02 大阪店 マウス 3000 2
2 2025-04-03 東京店 キーボード 8000 1

よくあるミスとエラー対処

Excelファイルの読み込みでは、初心者がつまずきやすいポイントがあります。

read_csv()でExcelファイルを読もうとしてしまう

Excelファイルは、基本的に read_csv() では読み込みません。

pd.read_csv("sales_sample.xlsx")

このように書くと、Excelファイルの形式とCSVの形式が違うため、うまく読み込めません。
Excelファイルには read_excel() を使いましょう。

sheet_nameを列名だと思ってしまう

sheet_name は、Excelのシート名を指定するための引数です。
読み込む列を指定したい場合は、usecols を使います。

usecolsで行を絞ろうとしてしまう

usecols は列を絞るための引数です。
行を絞りたい場合は、読み込んだあとに条件抽出を使います。

openpyxlが必要というエラーが出る

環境によっては、Excelファイルを読み込むときに openpyxl が必要になることがあります。
Google Colabでは使えることが多いですが、エラーが出る場合は次のようにインストールします。

# openpyxlが必要というエラーが出る場合のみ実行します
# Google Colabでは、すでに使える場合もあります

# !pip install openpyxl

このエラーは、pandasのコードの書き方が間違っているというより、Excelを読み込むためのエンジンが環境に不足している場合に起きます。

読み込んだ後は前処理につなげる

read_excel() は、ExcelファイルをDataFrameにする入口です。
読み込んだあとは、データ分析しやすい形になっているかを確認します。

たとえば、次のような流れです。

確認・前処理 使うメソッド 目的
先頭を確認 head() 読み込み結果を見る
型・欠損値を確認 info() 日付・数値・欠損を確認する
列名を整える rename() 日本語列名や長い列名を扱いやすくする
日付型に変換 to_datetime() 日付として扱えるようにする
数値・文字列に変換 astype() 分析に合う型にする
欠損値を確認・処理 isnull()fillna() 空欄を把握して補う

次の例では、Excelから読み込んだ売上データの列名を少し短くし、売上日を日付型に変換します。

sales_clean = pd.read_excel("sales_sample.xlsx", sheet_name="売上データ")

# 列名を扱いやすくする
sales_clean = sales_clean.rename(columns={
    "売上金額": "金額"
})

# 売上日を日付型に変換する
sales_clean["売上日"] = pd.to_datetime(sales_clean["売上日"])

sales_clean.head()
売上日 店舗 商品 金額 数量
0 2025-04-01 東京店 ノートPC 120000 1
1 2025-04-02 大阪店 マウス 3000 2
2 2025-04-03 東京店 キーボード 8000 1
sales_clean.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 3 entries, 0 to 2
Data columns (total 5 columns):
 #   Column  Non-Null Count  Dtype         
---  ------  --------------  -----         
 0   売上日     3 non-null      datetime64[ns]
 1   店舗      3 non-null      object        
 2   商品      3 non-null      object        
 3   金額      3 non-null      int64         
 4   数量      3 non-null      int64         
dtypes: datetime64[ns](1), int64(2), object(2)
memory usage: 252.0+ bytes

このように、Excelファイルを読み込んだら、次はDataFrameの確認と前処理に進みます。

read_excel() の役割は、ExcelをDataFrameに変えることです。
そのあとの列名変更、型変換、日付変換、欠損値処理は、それぞれ別の前処理として考えると整理しやすくなります。

read_excel()で押さえるポイントを整理する

ここまでで、ExcelファイルをDataFrameとして読み込む基本を確認しました。

read_excel() では、まず基本形で読み込み、必要に応じて引数を追加していくと迷いにくくなります。

目的 使うもの
Excelファイルを読み込む pd.read_excel()
シートを指定する sheet_name
必要な列だけ読む usecols
見出し行を調整する header
不要な説明行を飛ばす skiprows
行ラベルにする列を指定する index_col
列名を自分で付ける names

最初からすべての引数を覚える必要はありません。
まずは pd.read_excel("ファイル名.xlsx") で読み込み、head()info() で確認し、必要なところだけ調整していきましょう。

読み込んだ後は、列名変更・型変換・日付変換・欠損値処理などの前処理を行い、条件抽出・集計・可視化へ進みます。

まとめ

この記事では、pandasの read_excel() を使ってExcelファイルを読み込む方法を解説しました。

重要なポイントを整理します。

  • Excelファイルを読み込むには pd.read_excel("ファイル名.xlsx") を使う
  • 複数シートから読み込む場合は sheet_name を使う
  • 必要な列だけ読み込む場合は usecols を使う
  • 見出し行がずれている場合は header を使う
  • 表の上に説明行がある場合は skiprows を使う
  • index_col は必要な場合だけ使う
  • CSVファイルは read_csv()、Excelファイルは read_excel() と使い分ける
  • 読み込んだあとは head()info()describe() で確認する
  • その後、列名変更・型変換・日付変換・欠損値処理へ進む
  • 毎回同じ整った表を分析するなら、必要に応じてCSVに保存しておくと、次回以降は read_csv() で扱いやすい

まずは、シンプルなExcelファイルを read_excel() で読み込み、head()info() で確認するところから始めるのがおすすめです。

次に読みたい関連記事

Excelファイルを読み込んだあとは、DataFrameの確認や前処理へ進むと理解が深まります。

▲ ページトップへ戻る

pandasでExcelファイルを読み込むにはどうすればよいですか?

pd.read_excel("ファイル名.xlsx") を使います。
まずはこの基本形で読み込み、必要に応じて sheet_nameusecolsheaderskiprows を指定します。

read_excel()とread_csv()の違いは何ですか?

read_excel() はExcelファイルを読み込む関数で、主に .xlsx や .xls を扱います。
read_csv() はCSVファイルを読み込む関数で、主に .csv を扱います。
Excelファイルを読む場合は read_excel()、CSVファイルを読む場合は read_csv() と使い分けます。

Excelの複数シートを読み込むにはどうすればよいですか?

特定のシートを読み込む場合は、sheet_name を使います。
pd.read_excel("sales_sample.xlsx", sheet_name="売上データ")

複数シートをまとめて読み込む方法もありますが、初心者のうちはまず必要なシートを1つずつ指定して読むのがおすすめです。

特定の列だけ読み込むにはどうすればよいですか?

usecols を使います。
pd.read_excel("sales_sample.xlsx", usecols=["売上日", "店舗", "売上金額"])

usecols は列を絞るための指定です。
行を絞りたい場合は、読み込んだあとに条件抽出を使います。

1行目が見出しではないExcelはどう読み込めばよいですか?

見出し行が何行目にあるか分かっている場合は、header を使います。
たとえば、3行目を見出しにしたい場合は header=2 と指定します。
pd.read_excel("sales_sample.xlsx", header=2)

先頭の説明行を読み飛ばしたい場合は、skiprows を使うこともあります。

列名を自分で付けたい場合はどうすればよいですか?

Excelに見出し行がない場合や、読み込み時に列名を自分で指定したい場合は、names を使う方法があります。
pd.read_excel("sales_sample.xlsx", header=None, names=["売上日", "店舗","商品", "売上金額", "数量"])

ただし、初心者のうちは、まず header で見出し行を正しく読み込む方法を覚えるのがおすすめです。
読み込んだあとに列名を整えたい場合は、rename() を使うと流れがわかりやすくなります。

openpyxlが必要というエラーが出たらどうすればよいですか?

環境にExcel読み込み用のエンジンが不足している可能性があります。
Google Colabでは最初から使えることも多いですが、ローカル環境や一部の環境でエラーが出る場合は、必要に応じて次のようにインストールします。
!pip install openpyxl

インストール後は、ランタイムやノートブックを再実行すると読み込めることがあります。

読み込んだExcelの日付や数値の型がおかしいときはどうすればよいですか?

まず info() で列の型を確認します。
日付列が文字列として読み込まれている場合は pd.to_datetime()、数値や文字列の型を整えたい場合は astype() を使います。

Excelに保存するにはto_excel()を使えばよいですか?

はい。DataFrameをExcelファイルとして保存する場合は to_excel() を使います。
ただし、この記事の中心は読み込み用の read_excel() です。
保存については、まず「読み込み」と「前処理」の流れに慣れてから学ぶと理解しやすいです。

ExcelはCSVに変換してから扱ったほうがよいですか?

繰り返し同じ表を分析するなら、CSVに変換しておくと扱いやすいことが多いです。
Excelは人が見る資料として便利ですが、pandasで繰り返し分析するなら、1つの表に整理されたCSVのほうがシンプルです。
ただし、複数シートから必要な表を選ぶ段階では read_excel() が便利です。
まず read_excel() で読み込み、必要なシート・列・見出し行を整えたあと、必要に応じて to_csv() で保存するとよいです。

コメント

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