このサイトの記事内では「アフィリエイト広告」などの広告を掲載している場合があります。
消費者庁が問題としている「誇大な宣伝や表現」とならないよう配慮しコンテンツを制作しておりますのでご安心ください。
問題のある表現が見つかりましたらお問い合わせよりご一報いただけますと幸いです。

【Python】csvファイルの読み込み方法

2023年6月14日

今回はPythonでのcsvファイルの読み込み方法を紹介します。

csvモジュールはpythonの標準ライブラリのため、ライブラリのインストールなどは不要です。

この記事では↓の内容が分かります。

  • csvファイルの読み込み方法
  • csvファイルの読み込み方法(dictとして読み込み)

csvファイルの読み込み方法

import csv

with open('ファイルのパス/ファイル名.csv', 'r', encoding = 'utf-8') as file:
    csv_reader = csv.reader(file)

    # csvファイルの内容を1行ずつ表示
    for row in csv_reader:
        print(row) # リスト形式

このサンプルコードではcsvファイルを読み込み、csvファイルの内容を1行ずつ表示しています。

with open('ファイルのパス/ファイル名.csv', 'r', encoding = 'utf-8') as file:

この部分でcsvファイルの読み込みを行っています。

引数の’r’は読み込みモードを指定しています。また、encodingでcsvファイルのエンコーディングを指定しています。(最近はutf-8の場合が多いです)

    # csvファイルの内容を1行ずつ表示
    for row in csv_reader:
        print(row) # リスト形式

csv_readerオブジェクトを反復処理することで、CSVファイルの各行を読み込むことができます。

各行はリストとなります。このコードではリストを表示します。

csvファイル読み込みの具体例

読み込むcsvファイル

例えば、このようなcsvファイルを先ほどのプログラムで読み込みます。

['氏名', ' 年齢', ' 性別']
['長田', ' 43', ' 男']
['松尾', ' 40', ' 男']

するとこのようにリスト形式でデータが表示されます。

csvファイルの読み込み方法(dictとして読み込み)

先ほどはリスト形式でデータを読み込みましたが、dict(辞書)形式で読み込むこともできます。

import csv

with open('ファイルのパス/ファイル名.csv', 'r', encoding= 'utf-8') as file:
    csv_reader = csv.DictReader(file)

    # csvファイルの内容を1行ずつ表示
    for row in csv_reader:
        print(row)
    csv_reader = csv.reader(file)
⇒  csv_reader = csv.DictReader(file)

先ほどcsv.readerメソッドを使ったところをcsv.DictReaderメソッドに変更しています。

各行がdictとして扱われ、ヘッダー行の各列がキー、データ行の値がそれに対応する値となります。

{'氏名': '長田', ' 年齢': ' 43', ' 性別': ' 男'}
{'氏名': '松尾', ' 年齢': ' 40', ' 性別': ' 男'}

先ほどのcsvファイルで実行すると、このような結果となります。

ヘッダーの氏名、年齢、性別をキーとしたdict型となっているのが分かります。

print(row['氏名'])

このような形でヘッダー名でデータの取り出しができるので、プログラムを見やすくすることができます。

ぜひ活用してみてください。

csvファイルを作成する方法

csvファイルを作成する方法についてはこちらの記事をご覧ください。

Python

Posted by やろまい