初めまして。閲覧の程有難う御座います。
現在以下のような使用のアプリケーションをオンラインスクールの課題で制作しております。
#課題の仕様
-
まず、こちらが名前を聞く
-
そのあとに、おすすめのレストランの名前を聞く
-
そのレストラン名を変数に入れ、カウントをし、(レストラン名がかぶった場合はカウントを1増やす)CSVファイルに書き込む。
その際の、CSVに書き込むコードをPythonで書いていたのですが、どうも詰まってしまっています。理想は
CSV
1NAME, COUNT 2ガスト, 2 3バーミヤン, 1
と書き込めるようなpythonコードを作りたいので御座います。
現在、書き込みを行う段階で詰まってしまっているので御指南の程をお願い致します。
Python3
1count = 1 2#csvモジュールはインポート済み 3with open("ranking.csv", "w", newline="") as r: 4 5 fieldnames = ["NAME", "COUNT"] 6 writer = csv.DictWriter(r, fieldnames=fieldnames) 7 writer.writeheader() 8 writer.writerows({"NAME": Restaurant_name, "COUNT": count})
こちらを実行すると
Traceback (most recent call last): File "C:/Users/nhs90438/PycharmProjects/Python_Programming/recommend.py", line 29, in <module> writer.writerows({"NAME": Restaurant_name, "COUNT": count}) File "C:\Users\nhs90438\Anaconda3\lib\csv.py", line 158, in writerows return self.writer.writerows(map(self._dict_to_list, rowdicts)) File "C:\Users\nhs90438\Anaconda3\lib\csv.py", line 148, in _dict_to_list wrong_fields = rowdict.keys() - self.fieldnames AttributeError: 'str' object has no attribute 'keys'
このようなエラーが吐かれます。string型のオブジェクトはkeyの属性を持っていないよ!ってのはわかるのですが、やはり素人だからなのか「・・・はあ。」となって対処法が本当にわかりません。いったい何を直せばよいのでしょうか・・・ご回答お待ちしております。
実行環境:
-
python3.7
-
Pycharm
-
Windows10
回答1件
あなたの回答
tips
プレビュー