この記事では、Pythonを用いてCSV(Comma Separated Values)ファイルから特定の列だけを読み込む方法を紹介します。具体的なコード例とその解説、応用例を含めています。
目次
なぜ特定の列だけを読むのか
大規模なCSVファイルを扱う際、全てのデータを読み込むとメモリ消費が大きくなる場合があります。そのような状況で特定の列だけに焦点を当てたい場合、このテクニックは非常に有用です。
Python標準ライブラリを用いた方法
csvモジュール
Python標準ライブラリの`csv`モジュールを使った基本的な方法です。
import csv
# CSVファイルを開く
with open('example.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row[2]) # 3列目だけを出力
注意点
– 列番号は0から始まるため、3列目を指定する場合は`row[2]`となります。
– ファイル全体を読み込むため、大規模なファイルでは非効率です。
pandasを用いた効率的な方法
基本的な読み込み
`pandas`ライブラリを用いると、より効率的かつ簡単に特定の列だけを読み込むことができます。
import pandas as pd
# 特定の列だけを読む
df = pd.read_csv('example.csv', usecols=['Name', 'Age'])
print(df)
長所と短所
– 長所:大規模なファイルでも効率的に読み込めます。
– 短所:pandasを事前にインストールする必要があります。
応用例
1. データフレームから条件に合う行を抽出
filtered_df = df[df['Age'] > 30]
print(filtered_df)
2. データの統計量を簡単に取得
print(df['Age'].describe())
3. 列を基にデータをソート
sorted_df = df.sort_values('Age')
print(sorted_df)
まとめ
PythonでCSVファイルから特定の列を読み込む方法には、Python標準ライブラリの`csv`モジュールと、効率的な`pandas`ライブラリがあります。用途に応じて適切な方法を選びましょう。
コメント