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
答案 0 :(得分:0)
“ TypeError:字符串索引必须为整数”表示dictN
或dictN[i]
中的一个是字符串。我将从研究每种类型的类型开始调试。
您的示例数据对我而言没有意义,因为如果dictN
确实是Python字典,那么dictN[i]
的{{1}}是整数将导致i
。如果您发布更多信息,则可以帮助社区做出更好的答案。