如何解决错误字符串索引必须为整数

时间:2019-04-17 12:49:44

标签: python pandas dataframe dictionary

TypeError:字符串索引必须是整数。 例如:20适用,但3550不适用。

i=0
for key in dict1:
       for keys in dict2:
           if (dict1[key]['TITLE']==dict2[keys]['TITLE']):
               if pd.isna(d1.loc[i,'DB']) is True: 
                   d1.iloc[i]=dict2[keys]
    i+=1

dict1和dict2看起来像:

{'DB': 'A',
 'TITLE': 'Wildlife Biology',
 'ISSN': '0909-6396',
 'e-ISSN': nan,
 'ISBN': nan,
 'e-ISBN': nan}

对于dict1 [key],当key = 20

运行时错误弹出。

if (dict1[key]['TITLE']==dict2[keys]['TITLE']):

TypeError: string indices must be integers

1 个答案:

答案 0 :(得分:0)

“ TypeError:字符串索引必须为整数”表示dictNdictN[i]中的一个是字符串。我将从研究每种类型的类型开始调试。

您的示例数据对我而言没有意义,因为如果dictN确实是Python字典,那么dictN[i]的{​​{1}}是整数将导致i。如果您发布更多信息,则可以帮助社区做出更好的答案。