077:カンマ区切りCSVを処理する
カンマ区切りのテキストinputcsv.txtがあるとする。
これをリストに入れるには、splitメソッドで区切りにカンマ指定して分割すればよい。
ただし、各行のお尻には改行が入っているので、それを予め除いておく必要もある。
また、python2.3からは csvモジュール というのが使えるようになっており、そちらだともっと簡単になる。
f=open('C:/Documents and Settings/Administrator/My Documents/inputcsv.txt','r')
for line in f:
array=line.rstrip().split(',')
print array
f.close()
実行結果は
['1', 'apple', '100']
['2', 'orange', '45']
['3', ' banana ', '22']
>>> import csv
>>> reader=csv.reader(file('C:/Documents and Settings/Administrator/My Documents/inputcsv.txt'))
>>> for row in reader:
print row
['1', 'apple', '100']
['2', 'orange ', '45']
['3', ' banana ', '22']
書き込みの例
import csv
lst=[['1','a'],['2','b']]
writer = csv.writer(open('C:/Documents and Settings/Administrator/My Documents/outputcsv.txt','w'),delimiter=',')
for row in lst:
writer.writerow(row)
とりあえず、原始的な方法ではファイルをアペンドモードで開いて、文字列を追加していく。ファイルが無い場合は新たに作られる。
>>> import string
>>> list=[['1','a'],['2','b']]
>>> o=open('C:/Documents and Settings/Administrator/My Documents/inputcsv.txt','a+')
>>> for line in list:
txt = '.'.join(line)+'\n'
o.write(txt)
>>> o.close()