🐍
(学習ログ)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()
、shape
、columns
、info()
などのメソッドで、読み込んだデータの概要を素早く把握できる - よくあるエラーへの対処法: ファイルパス、文字エンコーディング、必要なライブラリのインストールなど、トラブルシューティングの基本を押さえておくことで、スムーズにデータ分析を始められる
Discussion