この記事では、PythonでCSVファイルのデータをリストや辞書に変換して操作する方法を詳しく解説します。具体的なコード例とその解説、応用例を含めています。
目次
はじめに
CSV(Comma Separated Values)ファイルは、データを保存するのに非常に一般的な形式です。しかし、そのままではPythonで扱いにくい場合もあります。この記事では、Pythonを用いてCSVファイルの内容をリストや辞書に変換し、データの操作を行う手法を学びます。
CSVファイルをリストに変換する
基本的な方法
Pythonの標準ライブラリ`csv`を使用して、CSVファイルをリストに変換する基本的な方法を紹介します。
import csv
# CSVファイルを開く
with open('example.csv', 'r') as f:
reader = csv.reader(f)
data_list = [row for row in reader]
# 出力
print(data_list)
この例では、`example.csv`というCSVファイルを読み込み、その内容を`data_list`というリストに保存しています。
オプションの説明
`csv.reader()`関数にはいくつかのオプションがあります。例えば、区切り文字を変更することもできます。
import csv
# 区切り文字をセミコロンにする
with open('example_semicolon.csv', 'r') as f:
reader = csv.reader(f, delimiter=';')
data_list = [row for row in reader]
print(data_list)
このように、`delimiter`オプションを使用して区切り文字をセミコロンに変更しています。
CSVファイルを辞書に変換する
基本的な方法
`csv.DictReader`を使用すると、CSVファイルを辞書に変換することができます。
import csv
# CSVファイルを開く
with open('example.csv', 'r') as f:
reader = csv.DictReader(f)
data_dict = [row for row in reader]
# 出力
print(data_dict)
応用例
データのフィルタリング
読み込んだCSVデータから特定の条件を満たすデータだけを取得する方法です。
filtered_data = [row for row in data_list if int(row['age']) > 20]
print(filtered_data)
データのソート
読み込んだCSVデータを特定のキーでソートする方法です。
sorted_data = sorted(data_list, key=lambda x: x['name'])
print(sorted_data)
データの加工
読み込んだCSVデータに対して、新しい列を追加する方法です。
for row in data_list:
row['new_column'] = int(row['age']) * 2
print(data_list)
まとめ
この記事では、Pythonを使用してCSVファイルをリストや辞書に変換する方法を解説しました。基本的な読み込みからオプションの説明、さらには応用例まで幅広く取り扱いました。これらの方法を使って、Pythonでのデータ操作が効率的に行えるでしょう。
コメント