我刚刚开始在python中使用类,因此无法解决这个可能很简单的错误。我有一个类,基本上可以整理多个csv文件,对数据进行排序和清理,并输出一个完整的列表,如下所示:class CollateCSV():
def __init__(self, input_dir="", file_list="", output=False):
# initialises some global variables
def read_file_list(self):
#reads a csv file of already "dealt with" files
return x #list of filenames
def list_files_to_read(self, show=False, perm=True):
#gives list of csv files yet to be cleaned - the ones the program will actually import and read
return files_to_read
def sort_list(self, unsorted_list):
#sorts a list of OrderedDict by multiple keys
return sorted_list
def import_sort(self):
#reads each CSV file, cleans it, passes it to sort_list function and returns cleaned & sorted list of OrderedDict
return sort_list(x)
def return_final_list(self):
#does some things relating to logging if self.output == True. But used mainly as single easy place to return the final sorted & cleaned list of OrderedDict
return import_sort()
我已经设置了我的项目,这段代码是在一个独立的文件,我的主要代码,所以我把它作为一个模块导入。因此,我知道代码本身的工作方式与运行下面的代码时一样,在上面的代码中,我修复了指示缺失变量或语法错误等错误的错误。在
^{pr2}$
我遇到的问题是,当我运行上述代码时,我会收到一个eror命令:for file in list_files_to_read(show=False, perm=True):
NameError: name 'list_files_to_read' is not defined
我尝试在CollateCSV类中移动函数,并尝试在第一个文件中执行第二段代码,但仍然得到相同的错误。有人能给我一些建议,告诉我在python中的类有什么问题吗?谢谢。在