前提・実現したいこと
Pythonで以下のような状況を想定したプログラムを書いています。
..................................
果物についてリサーチしている。全てのデータをCSV形式で保存したいが、300円の予算で3つ買えるものに関してだけは先頭に「該当」と目印をつけたい。
..................................
発生している問題・エラーメッセージ
自分で書いたプログラムだと、『該当』の位置が望んだ形になりません。 with openのmodeが'a'なのが悪い気がしますが、データを今後も追加していきたいためどうしたら適切かわかりません。 .................................. #私の書いたコードで生成されるCSV ,リンゴ,70 該当,, ,オレンジ,100 該当,, ,バナナ,150 ,, ############### #欲しいCSVの形 該当,リンゴ,70 該当,オレンジ,100 ,バナナ,150
該当のソースコード
python
1import csv 2 3wallet_money = 300 #予算 4 5apple_data = {'判定':'', 6 '名前':'リンゴ', 7 '値段':70} 8 9orange_data = {'判定':'', 10 '名前':'オレンジ', 11 '値段':100} 12 13banana_data = {'判定':'', 14 '名前':'バナナ', 15 '値段':150} 16 17fruits_data = [apple_data,orange_data,banana_data] 18 19def fruit_reserch(price,data,wallet_money): 20 with open('test.csv', 'a', encoding="'utf_8_sig") as csv_file: 21 fieldnames = ['判定','名前', '値段'] 22 writer = csv.DictWriter(csv_file, fieldnames=fieldnames) 23 writer.writerow(data) 24 if int(price)* 3 <= int(wallet_money): 25 writer.writerow({'判定':'該当'}) 26 else: 27 writer.writerow({'判定': ''}) 28 29for fruit_data in fruits_data: 30 fruit_reserch(int(fruit_data['値段']), fruit_data, wallet_money)
補足情報(FW/ツールのバージョンなど)
フルーツのデータは今後増えていく可能性があり、その際には
該当,リンゴ,70
該当,オレンジ,100
,バナナ,150
該当,モモ,50
のように下に追加していきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/15 08:32