gpt4 book ai didi

Python - 比较 2 种不同的输出格式 - 逻辑

转载 作者:太空宇宙 更新时间:2023-11-04 02:26:08 24 4
gpt4 key购买 nike

我有一个编程案例难倒了我。我不一定在寻找代码——我在寻找逻辑建议,对此我不知所措。

我尝试了几种不同的方法,但似乎没有什么能真正具体地表述出来。

这是一个回归测试。我有两个文件,它们的数据相同,格式却截然不同。我需要比较数据并使流程自动化。我会在稍后阶段担心“差异”。如果我可以从两个可以比较的文件中获取数据,应该不会太难。

文件 1 基本上包含 JSON 数据。文件中还有其他垃圾,但可以删除。这是数据的样子:

{
"Chan-1" : [ {
"key1" : "val1",
"key2" : val2,
"key3" : val3,
}, {
"key1" : "val1",
"key2" : val2,
"key3" : val3,
} ]
}

文件 2 本质上是我可以解读为包含项目的 Python 列表的内容。每个项目都有数据,数据采用 key=value 格式,在括号中用逗号分隔。

[
spacecraft.telemetry.channel(key1=val1,key2="val2",key3=val3),
spacecraft.telemetry.channel(key1=val1,key2="val2",key3=val3)
]

一个文件中的每个 block 都对应于另一个文件中的 block ,并且基本上如果要进行差异化的话。所以换句话说:

{
"key1" : "val1",
"key2" : val2,
"key3" : val3,
}

来自文件 1 的将(或应该)具有与文件 2 相同的键值对:

(key1=val1,key2="val2",key3=val3)

顺序也差不多。

这两个文件都包含“Chan-1”对象的大量键值对,为了举例,我截断了数据量。每个区 block 中大约有16个键值对,大约有400个区 block 。

我尝试处理文件 2,使其看起来像 JSON 数据。我已经尝试处理文件 1 以使其看起来更像文件 2。我还尝试将这两个文件完全解析为第三种格式。但是我对这两个概念都没有深入了解——有些东西告诉我我遗漏了一些东西,考虑到我们已经有一个 JSON 文件,这不应该这么难。

如果有人能给我一些关于此处遵循的逻辑的建议,我将不胜感激 - 什么看起来是最好的路线,以及应该采用什么样的逻辑来实现这一目标。

谢谢。

最佳答案

对于每个文件:

  • 提取对象的“列表”
  • 将列表中的每个对象转换成字典
    • 对于文件 1,这一步基本上是“将 JSON 转换为字典”
    • 对于文件 2,这将涉及仅提取 key=value 字符串,在 = 上拆分,并通过字典理解将结果转换为字典。

此时,您有两个字典列表。您的问题似乎表明您可以假定列表以相同方式排序,因此现在您可以检查一个列表中的每个字典是否与另一个列表中相同位置的字典相匹配。查看 zip(list_1, list_2);它应该使这一步更容易。

关于Python - 比较 2 种不同的输出格式 - 逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50373835/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com