レッスン1 / 2問目

『csvファイルの読み込み(csv.reader)』

このレッスンではcsvファイルの操作について学習していきましょう。

csvファイルとは以下のような , カンマ区切りのデータです。
csvは「comma separated variables」の略であり「カンマ区切りのデータ」を表します。

"年齢","身長","体重","性別" 10,170,60,"男" 15,180,75,"男" 13,160,50,"女" 18,155,45,"女" 16,168,80,"男"

csvファイルは上記のような、カンマと改行だけでデータの形状が表されるシンプルなデータ形式です。

csvを読み込む

今回学習するcsvモジュールはcsvファイルを操作するためのモジュールです。

まずは、csvモジュールを用いてcsvファイルを行ごとにリストのような形式で読み込む方法について見ていきましょう。

それにはcsvモジュールの csv.reader() を使用します。
with文を用いてファイルを開き、取得したファイルオブジェクト(file)を csv.reader() の引数に渡します。

import csv     # csvモジュールをインポート with open("パス", "モード", encoding="utf-8") as file:     reader = csv.reader(file)

csv.reader() はcsvファイルのデータを行ごとに区切ったリストのようなデータを返します。このデータはfor文でループすることができます。

具体例

では具体例を見ていきましょう。

以下の例では /sample2.csv を読み込み、 csv.reader() で読み込んだデータをfor文で出力しています。

  1. import csv    # csvをインポート
  2. with open("/sample2.csv", "r", encoding="utf-8") as file:    # ファイルを開く
  3.     reader = csv.reader(file)    # csv.reader()でファイルを読み込む
  4.     for row in reader:    # for文でループ
  5.         print(row)
['年齢', '身長', '体重', '性別']    # 行ごとにループで出力 ['10', '170', '60', '男'] ['15', '180', '75', '男'] ['13', '160', '50', '女'] ['18', '155', '45', '女'] ['16', '168', '80', '男']

with文でオープンしたファイルからcsv.reader()を用いてデータを読み込み、出力することができました。

ではこのレッスンは以上となります。演習課題にチャレンジしましょう。

Lesson1

csvモジュールをインポートしてください。

Lesson2

csvファイル /sample2.csv csv.reader() で読み込み、1行ごとにfor文で出力してください。

ファイルパス:


以下の手順となります。

  1. with文を用いてファイルを読み込む
  2. csv.reader()でファイルオブジェクトを読み込む
  3. csv.reader()で取得したオブジェクトをfor文でループし出力

Last updated:2019/12/20

['年齢', '身長', '体重', '性別']
['10', '170', '60', '男']
['15', '180', '75', '男']
['13', '160', '50', '女']
['18', '155', '45', '女']
['16', '168', '80', '男']
  1. # 1. csvモジュールをインポートしてください
  2. import csv
  3. # 2. ファイルを読込、指定した値を出力してください
  4. with open("/sample2.csv", "r", encoding="utf-8") as file:
  5. reader = csv.reader(file)
  6. for row in reader:
  7. print(row)
main.py
設定
g
n
i
d
a
o
L