import csv import datetime dt_now=datetime.datetime.now() listA=[["日付","体重:kg","体脂肪率:%"]] listB=[[]] weight=input("体重を入力してください:") print(str(weight)+"kg") percent=input("体脂肪率を入力してください:") print(str(percent)+"%") listB.append([dt_now,weight,percent]) with open('selfprogram.csv', 'r') as f: reader = csv.reader(f) if listA!="selfprogram.csv": with open("selfprogram.csv","w") as f: writer=csv.writer(f,lineterminator="\n") writer.writerows(listA) writer.writerows(listB) else: with open("selfprogram.csv","a") as f: writer=csv.writer(f,lineterminator="\n") writer.writerows(listB) ```### 前提・実現したいこと 実行毎に体重、体脂肪率を入力し、csvファイルに記録していくとういものを作成しています。 初めの実行でlistAの名前、単位とinputで入力されたものを代入したlistBをcsvファイルに表示し それ以降はinputで入力されたものだけを追加していくというプログラムを作成しているのですが ファイルに書き込む方だけが実行されて毎度上書きされてしまいます。 ■■な機能を実装中に以下のエラーメッセージが発生しました。 ### 発生している問題・エラーメッセージ
エラーメッセージ
### 該当のソースコード
if listA!="selfprogram.csv":
with open("selfprogram.csv","w") as f:
writer=csv.writer(f,lineterminator="\n")
writer.writerows(listA)
writer.writerows(listB)
else:
with open("selfprogram.csv","a") as f:
writer=csv.writer(f,lineterminator="\n")
writer.writerows(listB)
### 試したこと if文でlistAの内容がなければlistAとlistBを書き込みしそうでなければlistBを追加する というコードで試しました。 ### 補足情報(FW/ツールのバージョンなど) python3.7.0
回答1件
あなたの回答
tips
プレビュー