Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.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
使用Python以新行将JSON对象写入文本文件的理想方法_Python_Json - Fatal编程技术网

使用Python以新行将JSON对象写入文本文件的理想方法

使用Python以新行将JSON对象写入文本文件的理想方法,python,json,Python,Json,我有一个文本文件,其中每行包含一个JSON对象。JSON对象可以彼此非常不同,即可能具有不同的结构 我读取文件并决定要保留哪个对象,然后将该对象写入另一个文本文件,如下所示 with open('output.txt', 'w') as outfile: with open('input.txt') as f: for line in f: myJSON = json.loads(line) if "myProperty"

我有一个文本文件,其中每行包含一个JSON对象。JSON对象可以彼此非常不同,即可能具有不同的结构

我读取文件并决定要保留哪个对象,然后将该对象写入另一个文本文件,如下所示

with open('output.txt', 'w') as outfile:
    with open('input.txt') as f:
        for line in f:
            myJSON = json.loads(line)
            if "myProperty" in myJSON:
                    json.dump(myJSON, outfile)
                    outfile.write('\n')
我想知道,显式地编写换行符是否是在单独的行中编写每个JSON对象的推荐方法,还是应该以不同的方式编写。
我只需要以这种格式编写,因为没有这个换行符,所有内容都会进入输出文件中的一行,这样做不是很有用

这个问题可能更适合这个问题,但这不是一个很好的方法。问题是,只要您有一个本身包含换行符的json对象,它就会失败。@wvdz:如果在字符串中,则会转义换行符<默认情况下,code>json.dump()不会生成带换行符的json文档。如何处理新文件?您需要再次阅读,需要将其作为JSON处理,等等。答案基本上取决于您的用例。@lesingerouge和yes,我需要重新阅读并进行进一步处理,重新阅读效果很好,因此它可以按照我希望的方式工作。这个问题可能更适合它不是一个很好的方法。问题是,只要您有一个本身包含换行符的json对象,它就会失败。@wvdz:如果在字符串中,则会转义换行符<默认情况下,code>json.dump()不会生成带换行符的json文档。如何处理新文件?您需要再次阅读,需要将其作为JSON处理,等等。答案基本上取决于您的用例。@lesingerouge和yes我需要重新阅读并进行进一步处理,重新阅读效果很好,因此它可以按照我希望的方式工作。