【Python】csvファイルの読み込み方法
今回は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ファイルを先ほどのプログラムで読み込みます。
['氏名', ' 年齢', ' 性別']
['長田', ' 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ファイルを作成する方法についてはこちらの記事をご覧ください。