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ファイルに書き込みます。