<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def getColData(self, attri, fname, numtype='cycNum'):
 """ In this method a column of data for the associated column attribute is returned. Parameters attri : string The name of the attribute we are looking for. fname : string The name of the file we are getting the data from or the cycle number found in the filename. numtype : string, optional Determines whether fname is the name of a file or, the cycle number. If it is 'file' it will then interpret it as a file, if it is 'cycNum' it will then interpret it as a cycle number. The default is "cycNum". """

        fname=self.findFile(fname,numtype)
        f=open(fname,'r')
        for i in range(self.index+1):
            f.readline()
        lines=f.readlines()
        for i in range(len(lines)):
            lines[i]=lines[i].strip()
            lines[i]=lines[i].split()
        index=0
        data=[]

        while index < len (self.dcols):
            if attri== self.dcols[index]:
                break
            index+=1

        for i in range(len(lines)):

            if index==5 and len(lines[i])==7:
                data.append(str(lines[i][index].capitalize())+'-'\
                +str(lines[i][index+1]))
            elif index==5 and len(lines[i])!=7:
                tmp=str(lines[i][index])
                if tmp[len(tmp)-1].isdigit():
                    tmp1=tmp[0]+tmp[1]
                    tmp1=tmp1.capitalize()
                    tmp2=''
                    for j in range(len(tmp)):
                        if j == 0 or j == 1:
                            continue
                        tmp2+=tmp[j]
                    data.append(tmp1+'-'+tmp2)
                elif tmp=='PROT':
                    data.append('H-1')
                elif tmp==('NEUT'or'NEUTR'or'nn'or'N   1'or'N-1'):
                    data.append('N-1')
                else:
                    data.append(tmp)
            elif index==0:
                data.append(int(lines[i][index]))
            else:
                data.append(float(lines[i][index]))

        return array(data)