将"列表"转为列表列表以避免"属性"错误



我有一个列表,我正试图通过一个函数运行该列表,该函数检查是否从名为valid的JSON中找到无效值,我得到的是一个属性错误列表对象没有应用属性。

col_list=[col for col in df]
key=list(valid.keys())
for k in key:
if k not in col_list:
key.remove(k)
print(key)
#Key values ['industry', 'System_Type__c', 'AccountType', 'country', 'state']
mask = key.apply(lambda c: c.isin(valid[c.name]))
key.mask(mask|key.eq(' ')).stack()
for err_i, (r, v) in enumerate(key.mask(mask|key.eq(' ')).stack().iteritems()):
errors[filename][err_i] = {"row": r[0],
"column": r[1],
"message": v + " is invalid check column " + r[1] + ' and replace with a standard value'}

我发现,如果我列出一个列表,并调用类似的东西,而不是密钥

df1=[['industry', 'System_Type__c', 'AccountType', 'country', 'state']]

这是有效的,但一旦它只是一个常规列表,就不行了。如何使列表调用成为列表的列表,以便变量键能够使用apply?

将列表转换为列表列表很容易,只需添加

key = [key]

如果你不想把你的列表转换成列表,你也可以尝试使用地图而不是应用程序

最新更新