見出し画像

Pythonの基礎#20「CSVファイルを扱う」

今日は、PythonでCSVファイルを扱ってみましょう。CSVファイルとは、プレーンなテキストファイルでカンマ区切りで値を保持しているファイルのことです。カンマ区切りの値を意味するComma Separated Valuesの略ですね。

サンプルとして以下のようなファイルを用意しました。

CSVファイルを読み込むには、CSVモジュールを使用してReaderオブジェクトを使っていきます。
サンプルファイルをJupyter Notebookが起動するカレントディレクトリに置いて読んでみましょう。

import csv

csvf = open('fruits.csv') # csvファイルをオープンします
readf = csv.reader(csvf) # csv.readerオブジェクトに渡します
datal = list(readf) # 読んだデータをリスト変換します
print(datal)
print(datal[0][0])
print(datal[0][1])

このように、open関数でCSVファイルを開き、csv.readerオブジェクトでそのファイルからCSVを読み込んでいきます。それをリストに変換してdatalに保存しています。リストなので、それぞれのデータは、datal[row][col]で取得することができますよ。

「ファイルから読み出すときの手順」
・CSVファイルをオープンする。
・csv.readerオブジェクトに渡す。
・読み込んだデータをリストに変換

また、CSVファイルに書き出すときは、writerオブジェクトを使って、1行1行、writerow関数で引数にリストを渡すとそのリストのデータをカンマ区切りのCSVの値としてファイルに書き出します。

import csv

outf = open('outfruits.csv','w',newline='') # ファイルをオープンします
outw = csv.writer(outf) # csv.writerオブジェクトに渡します
outw.writerow(['2019/05/05','orange','300']) # writerow関数で1行書き出します
outw.writerow(['2019/05/06','apple','150'])
outw.writerow(['2019/05/07','banana','200'])
outf.close() # ファイルを閉じます

「CSVファイルを書き出す手順」
・CSVファイルをオープンする。
・csv.writerオブジェクトに渡す。
・writerow関数の引数にリストで書き出す値を渡す。
・ファイルを閉じる。

もし、書き出したCSVファイルをエクセルで開きたい場合には、 ふぁいるのオープン時に「encoding='shift_jis'」を指定しましょう。

import csv

outf = open('outfruits_sjis.csv','w',encoding='shift_jis',newline='') # ファイルをオープンします
outw = csv.writer(outf) # csv.writerオブジェクトに渡します
outw.writerow(['2019/05/05','みかん','300']) # writerow関数で1行書き出します
outw.writerow(['2019/05/06','りんご','150'])
outw.writerow(['2019/05/07','ばなな','200'])
outf.close() # ファイルを閉じます


この記事が気に入ったらサポートをしてみませんか?