🐍

(学習ログ)Python011:pandasでCSVとExcelファイルを読み込む

に公開

1. はじめに

この記事の目的

データ分析の第一歩として、pandasライブラリを使って外部ファイル(CSVとExcel)からデータを読み込み、その内容を確認する方法を習得します。

この記事の概要

  • pandasを使ったCSVファイルの読み込み方法
  • pandasを使ったExcelファイルの読み込み方法
  • head()メソッドでデータの先頭を確認する手順
  • データ読み込み時によくあるエラーと対処法

2. サンプルコード

コード全文

# pandasライブラリをインポート(pdという別名で使用)
import pandas as pd

# CSVファイルを読み込み、DataFrameとして変数に格納
sample_uriage_data = pd.read_csv("002_サンプル/sample_uriage_data.csv")

# 読み込んだデータの最初の5行を表示して内容を確認
sample_uriage_data.head()

# Excelファイルを読み込み、DataFrameとして変数に格納
sample_customer_ledger = pd.read_excel("002_サンプル/sample_customer_ledger.xlsx")

# 読み込んだデータの最初の5行を表示して内容を確認
sample_customer_ledger.head()

コード解説

1行目:ライブラリのインポート

import pandas as pd

pandasライブラリをpdという短い名前で使えるようにインポートします。慣例としてpdという別名を使うことが一般的です。

3〜4行目:CSVファイルの読み込み

sample_uriage_data = pd.read_csv("002_サンプル/sample_uriage_data.csv")
sample_uriage_data.head()
  • pd.read_csv()関数で、指定したパスのCSVファイルを読み込みます
  • 読み込んだデータはsample_uriage_dataという変数に格納されます
  • head()メソッドで、データの先頭5行を表示して内容を確認します

6〜7行目:Excelファイルの読み込み

sample_customer_ledger = pd.read_excel("002_サンプル/sample_customer_ledger.xlsx")
sample_customer_ledger.head()
  • pd.read_excel()関数で、指定したパスのExcelファイルを読み込みます
  • CSVの場合と同様に、変数に格納してからhead()で内容を確認します

実行結果例

CSVファイル(売上データ)の表示結果:

   注文ID  顧客ID     商品名  数量   単価
0   1001   C001   ノートPC   2  80000
1   1002   C002  マウス     5   1500
2   1003   C001  キーボード  1   5000
3   1004   C003  モニター    1  25000
4   1005   C002  USBメモリ  10   800

Excelファイル(顧客台帳)の表示結果:

  顧客ID    顧客名         住所      電話番号
0  C001  株式会社A  東京都渋谷区  03-1234-5678
1  C002  株式会社B  大阪府大阪市  06-9876-5432
2  C003  株式会社C  福岡県福岡市  092-111-2222
3  C004  株式会社D  北海道札幌市  011-333-4444
4  C005  株式会社E  愛知県名古屋市 052-555-6666

3. エラーと確認のポイント

代表的なエラー文

① FileNotFoundError

FileNotFoundError: [Errno 2] No such file or directory: '002_サンプル/sample_uriage_data.csv'

原因: ファイルパスが間違っているか、ファイルが存在しません。
対処法: ファイルの場所を確認し、正しいパスを指定してください。相対パスで指定する場合は、Pythonスクリプトの実行場所からの相対位置に注意しましょう。

② UnicodeDecodeError(CSVファイル読み込み時)

UnicodeDecodeError: 'utf-8' codec can't decode byte...

原因: ファイルの文字エンコーディングがUTF-8ではありません(日本語環境ではShift_JISの可能性)。
対処法: encodingパラメータを指定します。

pd.read_csv("ファイル名.csv", encoding="shift_jis")

③ ModuleNotFoundError(Excel読み込み時)

ImportError: Missing optional dependency 'openpyxl'. Use pip install openpyxl

原因: Excelファイルを読み込むために必要なライブラリ(openpyxlまたはxlrd)がインストールされていません。
対処法: 次のコマンドでライブラリをインストールします。

pip install openpyxl

よく使う確認メソッドと出力例

データを読み込んだ後は、以下のメソッドでデータの構造を確認するのが基本です。

① shape:データの行数と列数を確認

sample_uriage_data.shape
# 出力例: (100, 5)  ← 100行、5列のデータ

② columns:列名の一覧を確認

sample_uriage_data.columns
# 出力例: Index(['注文ID', '顧客ID', '商品名', '数量', '単価'], dtype='object')

③ head():先頭データを確認(デフォルトは5行)

sample_uriage_data.head(3)  # 引数で行数を指定可能
# 先頭3行が表示される

④ info():データ型と欠損値の有無を確認

sample_uriage_data.info()
# 出力例:
# <class 'pandas.core.frame.DataFrame'>
# RangeIndex: 100 entries, 0 to 99
# Data columns (total 5 columns):
#  #   Column  Non-Null Count  Dtype 
# ---  ------  --------------  ----- 
#  0   注文ID    100 non-null    int64 
#  1   顧客ID    100 non-null    object
#  2   商品名     100 non-null    object
#  3   数量      100 non-null    int64 
#  4   単価      100 non-null    int64

4. まとめ

以下の内容が理解できるようになりました。

  • pandasを使ったファイル読み込みの基本: read_csv()read_excel()を使えば、それぞれCSVとExcelファイルを簡単に読み込める
  • データの初期確認方法: head()shapecolumnsinfo()などのメソッドで、読み込んだデータの概要を素早く把握できる
  • よくあるエラーへの対処法: ファイルパス、文字エンコーディング、必要なライブラリのインストールなど、トラブルシューティングの基本を押さえておくことで、スムーズにデータ分析を始められる

Discussion