Pythonでcsvのデータを読み書きする方法


Pythonにはcsvファイルを操作する機能もあります。

今回はcsvファイルを読んだり書いたりする方法を記しておきます。



csvデータの読み込み

import csv

#csvデータ
FileName= "base.csv"

#受け取る配列
get_data = [[None for i in range(15)] for j in range(15)]

#----------------------
# csvファイルのロード方法
y=0
f=open(FileName, "r")
reader=csv.reader(f)
for row in reader:
    x=0
    for col in row:
        get_data[y][x]=col
        print(get_data[y][x])
        x=x+1
    y=y+1
f.close()
#----------------------

.csvファイルを読む書きするには、まずimport csvします。

csvファイルのオブジェクトを作る

reader = csv.reader(f)

csv読み込みオブジェクト = csv.reader( ファイルオブジェクト )

csv読み込みオブジェクトからcsvのデータを取得できます。

csvデータの書き込み

#----------------------
# csvファイルの保存方法1
f=open("test1.csv", "w")
writer=csv.writer(f,lineterminator="\n")
writer.writerow(get_data[0])
writer.writerow(get_data[1])
writer.writerow(get_data[2])
f.close()
#----------------------

#----------------------
# csvファイルの保存方法2
f=open("test2.csv", "w")
writer=csv.writer(f,lineterminator='\n')
writer.writerows(get_data)
f.close()
#----------------------

csvデータの読み込みで作った2次元配列を使い新たにcsvファイルを作ります。

csvファイルの書き込み用オブジェクトを作る

writer=csv.writer(f,lineterminator="\n")

csv書き込みオブジェクト=csv.writer( ファイルオブジェクト ,lineterminator=”\n”)

書き込む関数を持ったcsv書き込みオブジェクトを生成します。
lineterminatorは改行コードの指定です。

csvファイルに一行だけ書き込みする方法

writer.writerow(get_data[0])

csv書き込みオブジェクト.writerow( 一次元配列 )

配列を一行としてCSVファイルに書き込みます。
繰り返す事で二行目、三行目となっていきます。

csvファイルに複数行書き込みする方法

writer.writerow(get_data[0])

csv書き込みオブジェクト.writerows( 二次元配列 )

二次元配列を複数行としてCSVファイルに書き込みます。

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする

関連記事



スポンサーリンク