Json ';非类型';对象没有属性';更换';在Python列表理解中
我有下面的字典Json ';非类型';对象没有属性';更换';在Python列表理解中,json,list,python-2.7,dictionary,nonetype,Json,List,Python 2.7,Dictionary,Nonetype,我有下面的字典 mydict = {'columns': ['col1', 'col2', 'col3'], 'rows': [['col1', 'col2', 'col3'], ['testing data 1', 'testing data 2lk\nIdrjy9dyj', 'testing data 3'], ['testing data 2', 'testing data 3', 'testi
mydict = {'columns': ['col1', 'col2', 'col3'],
'rows': [['col1', 'col2', 'col3'],
['testing data 1', 'testing data 2lk\nIdrjy9dyj', 'testing data 3'],
['testing data 2', 'testing data 3', 'testing data 4'],
['testing data 3', 'testing data 4', 'testing data 5']]}
我使用以下列表理解将回车“\n”
替换为此“
”
。它工作正常,除非在读取json文件时收到一个空字符串。然后它抛出一个错误,“NoneType”对象没有属性“replace”
。我只是不知道如何在列表中放入if不是none
语句。非常感谢你的帮助
for items in mydict['rows']:
mydict['rows'][i] = [item.replace("\n","<br>") for item in items]
i += 1
mydict[“行”中的项的:
mydict['rows'][i]=[item.replace(“\n”,“
”)用于items中的项]
i+=1
您可以在此处使用布尔表达式:
[item and item.replace("\n","<br>") for item in items]
要删除None
值或
[item.replace("\n","<br>") for item in items if item]
[项目。如果是项目,则为项目中的项目替换(“\n”和“
”)]
只保留非空值。这太好了!非常感谢。
[item.replace("\n","<br>") for item in items if item]