0

我想用 Python 将 JSON 文件的内容复制到另一个 JSON 文件中

有任何想法吗 ?

谢谢 :)

4

1 回答 1

6

由于缺乏研究工作,我通常不会回答,但考虑到评论中的糟糕建议,我会咬牙并给出更好的选择。

现在,这在很大程度上取决于您的意思,您是希望用另一个文件覆盖一个文件的内容,还是插入?后者可以这样做:

with open("from.json", "r") as from, open("to.json", "r") as to:
    to_insert = json.load(from)
    destination = json.load(to)
    destination.append(to_insert) #The exact nature of this line varies. See below.
with open("to.json", "w") as to:
    json.dump(to, destination)

这使用了 python 的json模块,它使我们可以很容易地做到这一点。

我们打开这两个文件进行读取,然后以写入模式再次打开目标文件以将其截断并写入。

标记的行取决于 JSON 数据结构,这里我将其附加到根列表元素(可能不存在),但您可能希望将其放置在特定dict键或类似的键处。

在替换内容的情况下,它变得更容易:

with open("from.json", "r") as from, open("to.json", "w") as to:
    to.write(from.read())

在这里,我们实际上只是从一个文件中读取数据并将其写入另一个文件。

当然,您可能希望检查数据是否为​​JSON,在这种情况下,您可以使用第一个解决方案中的 JSON 方法,这将在无效数据上抛出异常。

另一个可以说是更好的解决方案也可以shutil是复制方法,它可以避免手动读取或写入文件内容。

使用with语句为我们提供了自动关闭文件的好处——即使发生异常。最好总是尽可能地使用它们。

请注意,在 2.7 之前的 Python 版本中,with语句不处理多个上下文管理器,而是需要嵌套它们:

with open("from.json", "r") as from:
    with open("to.json", "r+") as to:
        ...
于 2012-04-19T23:37:25.023 回答