如何访问django类中的其他方法?

时间:2013-04-22 15:51:43

标签: django csv

我只是在学习Python和Django。

我想做的是这样的事情

csvobject = CSVViewer(file)
rows = csvobject.get_row_count()

这是我到目前为止所拥有的。记住这对我来说都是新手,所以我正在寻找一个解释。感谢。

class CSVViewer:


    def __init__(self, file=None):
        self.file = file

    def read_file(self):
        data = []
        file_read = csv.reader(self.file)
        for row in file_read:
            data.append(row)
        return data


    def get_row_count(self):
        return len(read_file(self))

我遇到read_file(self)

的问题

1 个答案:

答案 0 :(得分:3)

嗯,首先,为了import csvcsv.reader(self.file)方法中工作,您似乎缺少def read_line(self)。 其次,您必须在read_file方法中调用类似self.read_file()的实例方法get_row_count。这应该工作:

import csv

class CSVViewer:


    def __init__(self, file=None):
        self.file = file

    def read_file(self):
        data = []
        file_read = csv.reader([self.file])
        for row in file_read:
            data.append(row)
        return data


    def get_row_count(self):
        return len(self.read_file())

import csv class CSVViewer: def __init__(self, file=None): self.file = file def read_file(self): data = [] file_read = csv.reader([self.file]) for row in file_read: data.append(row) return data def get_row_count(self): return len(self.read_file())