Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json ';非类型';对象没有属性';更换';在Python列表理解中_Json_List_Python 2.7_Dictionary_Nonetype - Fatal编程技术网

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]