質問するログイン新規登録

質問編集履歴

1

現在のコードの状況と自分なりに考えている流れについて。

2021/01/29 14:16

投稿

kome1125
kome1125

スコア0

title CHANGED
File without changes
body CHANGED
@@ -23,6 +23,35 @@
23
23
  このように更新したいです。
24
24
  今は標準ライブラリだけでやろうとしているのですが、サードパーティーのライブラリ使用などの選択肢も含めてどなたがご教授頂きたいです。
25
25
  よろしくお願いいたします。
26
+
27
+ 追記:
28
+ ```python
29
+ fruit_name = input()
30
+ fruit_name_title = furit_name.title()
31
+
32
+ if os.path.exists('fruits_ranking.csv'):
33
+ with open('fruits_ranking.csv', 'r+', newline='') as f:
34
+ reader = csv.DictReader(f)
35
+ for i in reader:
36
+ if i['Name'] == fruit_name_title:
37
+ '......'
38
+
39
+ else:
40
+ with open('fruits_ranking.csv', 'w', newline='') as f:
41
+ fieldnames = ['Name', 'Count']
42
+ writer = csv.DictWriter, fieldnames=fieldnames)
43
+ writer.writeheader()
44
+ writer.writerow({'Name': fruit_name_title, 'Count': 1})
45
+ ```
46
+ 現状の説明が足りなくて申し訳ありません。
47
+ 自分で考えた流れとしては、
48
+ ・果物の名前を受け取る
49
+ ・'fruits_ranking.csv'のファイルが存在するか調べる
50
+ ・無ければファイルを新規で作り{'Name': fruit_name_title, 'Count': 1}を書き込む
51
+ ・ファイルが存在する場合は各行をforループで回し、if i['Name'] == fruit_name_title:に引っかかった行に対して['Count']の更新はできないだろうかと考えていました。
52
+
53
+ 一連の条件分岐に関しては一応機能するものを書けたのですが、csvの更新に関しては一度テキストファイルの形に変換してから部分的に上書きし、再度csvに反映させるなど考えてはみたのですが、実際にコードに起こせるだけの引き出しもなく行き詰ってしまいました。何かしらアドバイス頂けるとありがたいです。
54
+
26
55
  ### 補足情報(FW/ツールのバージョンなど)
27
56
 
28
57
  Windows10