PythonでCSVファイルの読み込み、書き込み

csv形式のファイルの操作について説明する。

csvファイルの操作はcsvモジュールを利用する。

CSVファイルを読み込み、特定の列を加算する

以下のようなCSVファイルを読み込む。

a,b,c,d
70,55,95,100
35,68,74,98
20,75,80,100

a君、b君、c君、d君のテストの得点を並べたイメージ。

d君の合計点を求めたい場合。

import csv

s = 0
with open("score.csv") as f:
    reader = csv.reader(f)
    next(reader)
    for row in reader:
        s += int(row[3])
        
print("d's score is " + str(s))

next()関数は1行勧めるの意味。

見出しを飛ばすために使っている。

4列目のデータはrow[3]なので、その値を文字列から整数に変換して和を計算する。

リストをCSVにして書き出す

リストをCSVファイルにして書き出す。
csv.writerのインスタンスを利用して、リストの要素を一つずつ読み込んでwriterowメソッドで書き込みを行う。

import csv

data = [[1, "takashi", 100],
              [2, "satoshi", 95],
              [3, "tadashi", 80]]

with open("output.csv", "w") as f:
    wr = csv.writer(f)
    for row in data:
        wr.writerow(row)

できたCSVファイルは以下となる。

1,takashi,100
2,satoshi,95
3,tadashi,80