PythonでCSVファイルをリストや辞書に変換して操作する方法

この記事では、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でのデータ操作が効率的に行えるでしょう。

コメント

コメントする

目次