pythonであるcsvファイルを作成しようとした際にエラーが発生したので解決してみる。
Table of Contents
エラー文
TypeError: writerow() takes exactly one argument (○ given)
↑このようなエラー文が出たので修正していく。
実際のコードはこんな感じ
for row in csv_f:
row[0] = datetime.datetime.strptime(row[0], '%Y/%m/%d') #datetime型に
if row[0] <= lastClosingMonth or row[0] >= thisClosingMonth: #今期の決算月以外にマッチすると処理を終了
pass
else:
writer.writerow(row[0].strftime('%Y%m'), row[1], row[2], row[3]) #1か月プラスされた月を出力
とにかくfor文で回してその結果をcsvに出力していきたいと考えていた。
エラー文がおっしゃるには下記の部分が怪しそう。
writer.writerow(row[0].strftime('%Y%m'), row[1], row[2], row[3])
よくよく調べたらカッコを増やしたら解決できるっぽい。
解決コード
for row in csv_f:
row[0] = datetime.datetime.strptime(row[0], '%Y/%m/%d') #datetime型に
if row[0] <= lastClosingMonth or row[0] >= thisClosingMonth: #今期の決算月以外にマッチすると処理を終了
pass
else:
writer.writerow((row[0].strftime('%Y%m'), row[1], row[2], row[3])) #1か月プラスされた月を出力
できたー!
ということでいったん解決。
なぜ解決できたのかが分かっていないので、次回以降調べる。