Pythonでcsv.readerオブジェクトを使って行ごとにCSVデータを読み込む方法

この記事では、Pythonのcsv.readerオブジェクトを使用した行ごとのデータの読み込みについて解説します。具体的なコード例、その詳細な解説、そして応用例を3つ以上も含めています。

目次

csv.readerオブジェクトとは

csv.readerオブジェクトは、Pythonの標準ライブラリcsvに含まれるオブジェクトです。このオブジェクトを使うことで、CSV(Comma-Separated Values)形式のデータを効率よく行ごとに読み込むことができます。

基本的な使用法

csv.readerオブジェクトの基本的な使用法は以下の通りです。

import csv

with open('example.csv', 'r') as file:
    csv_reader = csv.reader(file)
    for row in csv_reader:
        print(row)

このコード例では、`example.csv`というCSVファイルを開いて、その内容を行ごとに出力しています。`csv.reader`オブジェクトは、ファイルオブジェクトを引数として受け取ります。

コードの詳細解説

ここでは、先程の基本的なコードの各部分について詳しく解説します。

import csv

この行では、Pythonの標準ライブラリであるcsvモジュールをインポートしています。

with open(‘example.csv’, ‘r’) as file:

この行では、`example.csv`というCSVファイルを読み込みモード(’r’)で開いています。`with`ステートメントを使用することで、ファイルのクローズ処理を自動的に行います。

csv.reader(file)

ここで、`csv.reader`オブジェクトを作成しています。引数としては先程開いたファイルオブジェクト`file`を渡しています。

for row in csv_reader:

この行では、`csv_reader`オブジェクトをイテレートして、CSVファイルの各行をリストとして取得しています。

応用例

データフィルタリング

CSVデータから特定の条件に合う行だけを取得する例です。

import csv

with open('example.csv', 'r') as file:
    csv_reader = csv.reader(file)
    for row in csv_reader:
        if row[0] == '条件':
            print(row)

データ変換

CSVデータの各行を変換して新しいCSVファイルに保存する例です。

import csv

with open('example.csv', 'r') as infile, open('output.csv', 'w', newline='') as outfile:
    csv_reader = csv.reader(infile)
    csv_writer = csv.writer(outfile)
    
    for row in csv_reader:
        new_row = [x.upper() for x in row]
        csv_writer.writerow(new_row)

行番号の追加

CSVデータに行番号を追加する例です。

import csv

with open('example.csv', 'r') as infile, open('output_with_line_numbers.csv', 'w', newline='') as outfile:
    csv_reader = csv.reader(infile)
    csv_writer = csv.writer(outfile)
    
    for i, row in enumerate(csv_reader, start=1):
        csv_writer.writerow([i] + row)

まとめ

この記事では、csv.readerオブジェクトの基本的な使い方から応用例までを詳細に解説しました。この機能を使いこなせば、CSVデータの操作が非常に効率的に行えます。是非ともこの記事を参考に、csv.readerを活用してみてください。

コメント

コメントする

目次