csvモジュールを利用してファイルを書き込む
toricor.hatenablog.com
上の記事とセットの記事です。
今度はcsvファイルに書き出します。
ファイルをオープンするときにファイルモードを指定します。読み込み用はrでした。
書き込み時はwとaが主に使われます。
・wはファイルが存在しなければ新しく作ります。すでに存在すればファイルサイズを0に切り詰めてから書き込み用にオープンします(上書き)。
・aはファイルが存在しなければ新しく作ります。すでに存在すれば末尾からファイルに書き込みます(追記)。
さて、csvモジュールのファイルへの書き込み関数では、csv.writerow()とcsv.writerows()がありますので違いを見ていきます。
# -*- coding: utf-8 -*- ls = ['id', 'chromosome', 'physical_position'] import csv with open('output.csv', 'wb') as g: c = csv.writer(g) c.writerow(ls) # リストを一行ずつ書き込む
output.csv
id,chromosome,physical_position
for文などを用いて複数回writerowを使えば複数行を書き込めますが、そういう場合には以下の書き方ができます。
ls2 = [['id', 'chromosome', 'physical_position'], ['WBVar00010869', 'IV', '6377485'], ['WBVar00010872', 'V', '11574082'], ['WBVar00020875', 'V', '15406647']] #二重リスト import csv with open('output2.csv', 'wb') as g: c = csv.writer(g) c.writerows(ls2) # リストをまとめて書き込む
output2.csv
id,chromosome,physical_position WBVar00010869,IV,6377485 WBVar00010872,V,11574082 WBVar00020875,V,15406647