2016-02-26 73 views
1

我正在使用Python v2.7。將數據寫入csv不起作用

我已經定義了一個School類,它有一個方法get_properties_in_array()返回其屬性的數組:

class School: 
    def __init__(self, name, address): 
     self.name = name 
     self.address = address 

    def get_properties_in_array(self): 
     return [self.name, self.address] 

我創建一所學校,並將其添加到列表:

school_list = [] 
my_school = School("school-name","school-address") 
school_list.append(my_school) 

然後,我嘗試將此my_school寫入CSV文件,其屬性被製表符分隔(我已導入csv模塊):

with open("schools.csv", 'w') as data_file: 
    writer = csv.writer(data_file, delimiter='\t') 
    for one_school in school_list: 
     data = one_school.get_properties_in_array 
     # TypeError: 'instancemethod' object has no attribute '__getitem__' 
     writer.writerow(data) 

writer.writerow(data)出現以下錯誤,當我運行它,在該行:

TypeError: 'instancemethod' object has no attribute '__getitem__' 

爲什麼?如何解決它?

+2

缺少括號:'數據= one_school.get_properties_in_array()' –

回答

2

您需要調用方法

data = one_school.get_properties_in_array() 
+1

我花了20分鐘來思考,爲什麼?謝謝....我需要休息一下。 –