Newer
Older
myNWP / ask_class.py
import csv
from collections import defaultdict


class Ask_robot(object):
    
    #ここでつかう各インスタンスの、キーを名前で、値をそれぞれ好きなもの(str型)、きらいなもの(str型)、年齢(int型)を格納する辞書型変数を三つ用意
    person_like_dict=defaultdict(str)
    person_dislike_dict=defaultdict(str)
    person_age_dict=defaultdict(int)
    
    #Ask_robotのインスタンス生成時に行う処理
    def __init__(self,name):
        self.name=name
        print("\n\nこんにちは"+self.name+"さん\n\n")
    
    #新しく作られたPersonインスタンスの情報を各辞書型変数に追加
    def add_dict(self,name,age,like,dislike):
        self.person_like_dict[name]=like
        self.person_dislike_dict[name]=dislike
        self.person_age_dict[name]=age
        
    #ヘッダーをNameとLikeとし、Personインスタンスで得た情報(名前と好きなもの)をExcelファイルに出力    
    def person_like_csv(self,name,like,like_dict):
        with open("person_like.csv","w",newline="") as csv_file:
            fieldnames=["Name","Like"]
            writer=csv.DictWriter(csv_file,fieldnames=fieldnames)
            writer.writeheader()
            for name,like in like_dict.items():
                writer.writerow({"Name":name,"Like":like})
    
    #ヘッダーをNameとDislikeとし、Personインスタンスで得た情報(名前ときらいなもの)をExcelファイルに出力        
    def person_dislike_csv(self,name,dislike,dislike_dict):
        with open("person_dislike.csv","w",newline="") as csv_file:
            fieldnames=["Name","Dislike"]
            writer=csv.DictWriter(csv_file,fieldnames=fieldnames)
            writer.writeheader()
            for name,dislike in dislike_dict.items():
                writer.writerow({"Name":name,"Dislike":dislike})
    #ヘッダーをNameとageとし、Personインスタンスで得た情報(名前と年齢)をExcelファイルに出力       
    def person_age_csv(self,name,age,age_dict):
        with open("person_age.csv","w",newline="") as csv_file:
            fieldnames=["Name","Age"]
            writer=csv.DictWriter(csv_file,fieldnames=fieldnames)
            writer.writeheader()
            for name,age in age_dict.items():
                writer.writerow({"Name":name,"Age":age})