1

データを別のデータフレームに配置するこの関数があります。

def set_var(self,navn,periode,value):
    try:
        if navn.upper() not in self.data:
            self.data[navn.upper()]=NaN
        self.data[navn.upper()].ix[periode]=value
    except:
        print('> fejl ved genmning af:',navn,'i',periode)
        print( self.data[navn.upper()])
    return

次に、このように繰り返します。これはデータで埋めます:

for idx, val in enumerate(bd):
    if val not in ('Navn','Type','Aarstal','Referenceperiode','Registreringsnummer','nummer','navn','navn1','period', 'regnr'):
        for row in bd.itertuples():
            banker.set_var((str(row[6])+'_'+str(val)),row[60], row[idx+1])

エラーが発生します:KeyError: u'no item named <name of first item I try to insert>'

どうしてこれなの?

4

1 に答える 1

2

通常、キー エラーは、要求しているキーが dict オブジェクトにないために発生します。self.data は辞書のようです。その場合、has_key() を使用してオブジェクトをテストできます...そのように、

if self.data.has_key(navn.upper()):
        self.data[navn.upper()]=NaN
于 2013-10-18T19:28:53.993 に答える