CSVファイルを読み込む
CSVファイルを読み込む
・CSVファイルを読み込むためには、CSV用のリーダー(ファイルを読み取るためのデータ)を作成する
・まずはCSVファイルをopen()で開き、その結果を代入した変数fを用いて、csv.reader(f)でリーダーを作成する
・リーダーを使い終わったら、開いたCSVファイルをf.close()で必ず閉じる
※「CSVファイルを1行ずつ読み込む」には、次のようにreaderをループさせる。for文のinの後ろにreaderを書くと、1行分のデータを毎回rowに代入してくれる
import csv f = open("4月売上.csv", encoding="shift-jis") reader = csv.reader(f) for row in reader: print(row) f.close()
補足
encodeingをしない場合、open()は使用しているパソコンのデフォルトの文字コードでファイルを開こうとする。今回のCSVファイルの文字コードは「Shift-JIS」のため、「UTF-8」がデフォルトのMacなどでは正常に読み込めずエラーになる。
ヘッダー行を読み飛ばす
・ヘッダーが不要な場合は、ループの中で、ヘッダーの行は読みとばす
・そのために読み込み中の行番号が必要になる
・CSVモジュールでは次のようにreader.line_numで1から始まる行番号を取得できる
行番号が3以下の場合は、処理を中断して次のループに入る
import csv #ヘッダー行数 header_num = 3 f = open("4月売上.csv", encoding="shift-jis") reader = csv.reader(f) for row in reader: #行番号を出力 if reader.line_num <= header_num: continue print(row) f.close()