#はじめに
機械学習関連の開発で、大量に出力されたCSVデータを扱う機会があったので、Pythonでcsvデータを扱う方法を備忘録としてまとめてみました。
#CSVファイルの中身を1行ずつ表示する
csvファイルを扱うにはpythonに標準的に備わっているcsvモジュールを使用します。
csvファイルを指定して、行の内容をリストとして表示するには以下のように書きます。
import csv
#読み出したいファイルのパス
f = open("C:\\Users\\redpe\\Desktop\\XXXXX.csv")
reader = csv.reader(f)
#1行ずつ出力させる
for row in reader:
print(row)
f.close()
#ヘッダーの行を読み飛ばす
csvファイルを処理する際に、先頭のヘッダ部分は使わないことがあります。
その時は以下のように読み飛ばす処理を入れます。
import csv
#読み出したいファイルのパス
f = open("C:\\Users\\redpe\\Desktop\\XXXXX.csv")
reader = csv.reader(f)
#1行ずつ出力させる
for row in reader:
#1行目を読み飛ばす場合
if reader.line_num == 1:
continue
print(row)
f.close()
#CSVファイルにデータを追記する
もともとのCSVファイルにデータを1行追加したい場合には以下のようにします。
指定したCSVファイルに ['2021/6/13', '11:00', '30', '60', 'piglet']の行を追加しています。
import csv
#追記したファイルのパス
f = open("C:\\Users\\redpe\\Desktop\\XXXXX.csv",mode="a",newline="")
writer = csv.writer(f)
#追記したいデータリストを作成
data = ['2021/6/13', '11:00', '30', '60', 'piglet']
#データを追記する
writer.writerow(data)
f.close()