通过循环创建多个对象

时间:2016-12-06 00:18:53

标签: python csv object

我想通过使它成为一个循环来创建多个宠物对象。这是我到目前为止所得到的,我有Class Dog,Class Fish,Class Cat,Class Bird。 班狗:

def __init__(self,species,name,birthedate,breed,color):
    self.__species = species
    self.__name = name
    self.__birthdate = birthedate
    self.__breed = breed
    self.__color = color

def get_species(self):
    return self.__species

def get_name(self):
    return self.__name

def get_birthdate(self):
    return self.__birthdate

def get_breed(self):
    return self.__breed

def get_color(self):
    return self.__color

import dog
import cat
import fish
import bird
import csv

with open('C:\pet.csv', 'r') as f:
  reader = csv.reader(f)
for row in reader:
    if row[0]=="Dog":
        my_list.append(dog.Dog(row[0],row[1],row[2],row[3],row[4]))
    if row[0]=="Cat":

这里我不知道如何为我从csv.file中获取的每只狗,鸟,鱼,猫创建对象。

1 个答案:

答案 0 :(得分:0)

看起来你正走在正确的轨道上。我想你在开始阅读器循环之前忘了包含my_list的初始化。在这种情况下,您的所有对象都将存储在my_list

额外提示:您可能需要查看unpacking.然后您可以在不指定每列的情况下实例化您的对象: ``

my_list = list()
for row in reader:
    if row[0]=="Dog":
        my_list.append(dog.Dog(*row))
    ...