PythonでCSVファイル出力
CSVファイルにデータ列を書き込む
CSV出力のためにはたとえば次。
fl=100.0
import csv
with open('test.csv','a') as f:
writer = csv.writer(f)
writer.writerow(['fl=',fl])
ここで次のようにwriterowの後を一重カッコにしてしまうと怒られ手上手くいかない。
writer.writerow('fl=',fl)
コンソールに、TypeError: writerow() takes exactly one argument (2 given) と出てきた。
そして2個1組のデータ列を素直にfor文で出力しようと思って、
import numpy as np
fl=100.0
z=np.arange(-fl,fl,0.1)
w=pow(z,2)
import csv
with open('test.csv','a') as f:
writer = csv.writer(f)
writer.writerow(['fl=',fl])
writer.writerow(['z','w'])
for j in range(0,len(z)-1):
writer.writerow([z[j],w[j]])
こう書いたら、以下のように空行が挟まれる。
これを直すには、次のようにopenのところにおまじないを追加すれば良い。
import numpy as np
fl=100.0
z=np.arange(-fl,fl,0.1)
w=pow(z,2)
import csv
with open('test.csv','a',newline='') as f:
writer = csv.writer(f)
writer.writerow(['fl=',fl])
writer.writerow(['z','w'])
for j in range(0,len(z)-1):
writer.writerow([z[j],w[j]])
実行環境
Python3.6
jupyter
Excel2013